edit: это не обязательно должен быть класс NSObject, если вы хотите, вы также можете сделать это с вашим классом viewController, просто обязательно включите в свой заголовок
-(id)init
---- конец редактирования
если вы пытаетесь создать класс, доступный для другого контроллера представления, почему бы не попробовать NSObject вместо контроллера представления (учитывая, что вам нужно только взятьэто строковое значение)
например, давайте назовем этот класс viewController «глобальным» классом
, поэтому в global.h вы добавите
#import <Foundation/Foundation.h>
@interface GlobalVar : NSObject
@property (nonatomic, strong) NSString *myString;
-(id)init;
@end
, а затем, вglobal.m после этого вы поднимаете
#import "GlobalVar.h"
@implementation GlobalVar
@synthesize myString;
-(id)init
{
self = [super init];
if(self)
{
myString = [[NSString alloc]initWithFormat:@"the String"];
}
return self;
}
@end
, каждый раз, когда вам нужно получить доступ к объекту "myString", содержащемуся в глобальном классе, вы можете поместить
в заголовок:
#import "GlobalVar.h"
...
...
@property (nonatomic, strong) GlobalVar *globalVar;
в файле реализации:
@synthesize globalVar;
...
...
self.globalVar = [[GlobalVar alloc]init];
NSString *theString = globalVar.myString;
NSLog(@"content of my string is : %@",theString);
вот так;)