有很多方法可以做到这一点,但一种方法是定义一个所有视图控制器都可以访问的单例模型对象。例如,Model.h
定义两个属性,text
和array
:
#import <Foundation/Foundation.h>
@interface Model : NSObject
@property (nonatomic, strong) NSString *text;
@property (nonatomic, strong) NSMutableArray *array;
+ (instancetype)sharedModel;
@end
Model.m
只需实现sharedManager
允许各种控制器访问此共享模型的方法:
#import "Model.h"
@implementation Model
+ (instancetype)sharedModel
{
static id sharedMyModel = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
sharedMyModel = [[self alloc] init];
});
return sharedMyModel;
}
@end
然后,如果视图控制器想要使用它,只需包含一个
#import "Model.h"
在顶部,然后任何视图控制器都可以通过以下方式访问模型:
Model *model = [Model sharedModel];
现在您可以随心所欲地设置或获取text
andarray
属性。例如
model.text = @"Hello, World";
显然,只需将属性更改为Model.h
您想要的任何内容,而不是我的字符串和数组示例。