【发布时间】:2013-12-01 00:30:18
【问题描述】:
我有几个 UITableViewControllers 并且希望它们都有几个属性,比如 fetchedResultsController 和 managedObjectContext。所以我为所有这些创建了一个抽象类,这样我就可以一次添加这些公共属性,并符合一些协议(例如和我遇到的其他协议)并为所有这些类似的 TVC 更改/添加任何代码。我在这个抽象类的头文件中定义了一个名为 fetchedResultsController 的属性:
@property (strong, nonatomic) NSFetchedResultsController *fetchedResultsController;
在我的抽象类的每个子类中,我想为此属性创建一个自定义 getter,以延迟实例化 fetchedResultsController 并初始化获取请求等。我发现我必须添加:
@synthesize fetchedResultsController = _fetchedResultsController;
每个子类都有一个 iVar 来制作 getter。
我的问题:
为什么在我的抽象类的每个子类中看不到属性的 iVar?
或者换句话说:
有没有办法为在超类中定义的属性创建自定义访问器方法,而不必@synthesize iVar?
【问题讨论】:
标签: ios objective-c inheritance accessor