我想一个属性在类扩展添加的UITableView:定义iOS中类扩展属性
@interface UITableViewController()
@property NSString *entityString;
@end
于是我进口的扩展名,然后我用entityString财产的UITableViewController的子类:
@implementation CustomerTableViewController
- (void)viewDidLoad {
self.entityString = @"Customer";
...
[super viewDidLoad];
}
...
the compiler will automatically synthesize the relevant accessor methods (...) inside the primary class implementation.
但是,当我尝试前执行它我得到这个错误:
-[CustomerTableViewController setEntityString:]: unrecognized selector sent to instance 0x737b670
我做错了什么?也许属性不能被子类访问?
无法将ivars添加到类扩展中,或者这取决于所使用的编译器? – tiguero
您可以在类扩展中声明ivars和属性,但是除非在编译该类的@implementation之前编译器才能看到该扩展,否则不会创建这样的存储。 – bbum
感谢澄清 - 我没有注意到alazaro实际上是使用类扩展来实现框架类 – tiguero