Лучший способ, который я рекомендую, - использовать класс данных. Объявите переменные в классе данных и используйте их повсюду. Вот как это работает:
// DataClass.h
@interface DataClass : NSObject {
NSString *str;
}
@property(nonatomic,retain)NSString *str;
+(DataClass*)getInstance;
@end
// DataClass.m
@implementation DataClass
@synthesize str;
static DataClass *instance =nil;
+(DataClass *)getInstance
{
@synchronized(self)
{
if(instance==nil)
{
instance= [DataClass new];
}
}
return instance;
}
Теперь в вашем контроллере представления вам нужно вызвать этот метод как:
DataClass *obj=[DataClass getInstance];
obj.str= @"I am Global variable";
Эта переменная будет доступна для каждого контроллера представления. Вам просто нужно создать экземпляр класса данных.