我对目标 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 第一次被实例化,当我开始使用 Class2 的实例时(注意变量具有相同的名称) Class2 将使用 fetchedResultsController 和 Class1 的名称。基本上由 Class2 中的 [self fetchedResultsController] 调用的 fetchedResultsController 函数永远不会创建 NSFetchedResultsController 的新实例,如果我在 Class2 创建期间尝试打印名称,它会包含 Class1 中设置的值吗?这些不是每个班级的私人吗?我究竟做错了什么?