我对目标C很新,遇到了一些我非常困惑的事情。我有2个班级:
@implementation Class1
NSFetchedResultsController *fetchedResultsController;
NSString* name;
....
- (NSFetchedResultsController *) fetchedResultsController {
if (fetchedResultsController != nil) {
return fetchedResultsController;
}
.....
}
@end
@implementation Class2
NSFetchedResultsController *fetchedResultsController;
NSString* name;
....
- (NSFetchedResultsController *) fetchedResultsController {
if (fetchedResultsController != nil) {
return fetchedResultsController;
}
.....
}
@end
Class1实例化为1st,当我使用Class2的实例(通知变量具有相同名称)时,Class2将使用fetchedResultsController和Class1的名称。基本上在Class2中由[self fetchedResultsController]调用的fetchedResultsController函数永远不会创建NSFetchedResultsController的新实例,如果我在Class2创建期间尝试打印名称,它将包含在Class1中设置的值?每个班级都不是私人的吗?我做错了什么?
答案 0 :(得分:3)
您尚未创建私有成员,您创建了全局变量。试试这个:
@implementation Class1 {
NSFetchedResultsController *fetchedResultsController;
NSString* name;
}
....
@end