好的,我有一个我在QuickNoteNotesDataController.m
QuickNoteNotesDataController *dataController = [[QuickNoteNotesDataController alloc] init];
然后我需要能够从另一个文件QuickNoteDetailViewController.m
如何在不重新调用alloc init并创建新实例的情况下获取指向同一实例的指针?
答案 0 :(得分:1)
与其他类相同的实例:您需要创建一个共享实例。
或者是静态属性。
但请勿使用extern variable
。
答案 1 :(得分:1)
如果您只需要一个实例,则可以使用单例:
//In QuickNoteNotesDataController.m
static QuickNoteNotesDataController *sharedInstance;
+ (id)sharedDataController {
static dispatch_once_t predicate;
dispatch_once(&predicate, ^{
sharedInstance = [[QuickNoteNotesDataController alloc] init];
});
return sharedInstance;
}
否则您可以在QuickNoteDetailViewController
@property (nonatomic, strong) QuickNoteNotesDataController *dataController
并在创建detailViewController时将已经拥有的dataController设置为属性。
答案 2 :(得分:1)
您可以将QuickNoteNotesDataController类设为Singleton,然后您可以在整个应用程序中共享此类的单个实例。