創建一個單例模型包含您的數據。從您需要此數據的所有視圖中引用此類。通過下面的代碼,您可以通過調用[Model sharedModel]
來引用「模型」。訪問變量:[Model sharedModel].myVariableName
。
// Model.m
// This method will only create one instance of Model no matter how many times it's called.
// Import its header and use this method to get its reference
+ (instancetype)sharedModel
{
static Model *sharedModel;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
sharedModel = [[self alloc] initPrivate];
});
return sharedModel;
}
// Raise exception to make sure you don't create more than one object of the Model class
- (instancetype)init {
[NSException raise:@"Singleton"
format:@"Use +[Model sharedModel]"];
return nil;
}
// Private init method
- (instancetype)initPrivate
{
if (self = [super init]) {
// Set properties
}
return self;
}
您的其他視圖控制器是否需要修改這些屬性? – 2016-01-23 00:50:03
是的。控制器2和3必須修改它們,控制器1將它們展示給用戶 – Sausagesalad