【发布时间】:2012-05-26 20:41:33
【问题描述】:
如果一个子类被定义为MyView,它是UIView的子类,并且在Interface Builder中,点击视图,并且Custom Class已经设置为MyView。
但是在 ViewController 的viewDidLoad,
self.view.foo = ... ;
将创建一个编译错误,指出foo 不是UIView 的属性。然后我打印出self.view的类:
NSLog(@"Class of view is %@", NSStringFromClass([self.view class]));
果然,它打印出MyView。此外,不仅第一行不会编译,Xcode 也不会“自动完成”单词“foo”。但很明显,该类打印出的不是UIView,而是MyView,并且在我的MyView 的类定义中,我确实说过:
@property (nonatomic, strong) NSMutableArray *foo;
在接口.h文件中,也在实现.m文件中:
@synthesize foo;
并且MyView.h 也被导入到ViewController.h 中。为什么会这样以及如何解决这个问题?
【问题讨论】:
标签: iphone objective-c ios uiview uiviewcontroller