如果一个子类被定义为MyView
那个 subclasses 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”。但很明显,该类打印出 no as UIView
but is MyView
,并且在我的类定义中MyView
,我确实说过:
@property (nonatomic, strong) NSMutableArray *foo;
在接口.h
文件中,也在实现.m
文件中:
@synthesize foo;
并且MyView.h
也是进口的ViewController.h
。为什么会这样以及如何解决这个问题?