在一个项目(带有ARC的XCode 4,iOS 5)中,我有一个带有布尔属性的UIView子类:

 // Diagram.h
 @interface Diagram : UIView
 @property (assign) BOOL  flag;
 @end

 // Diagram.m
 @implementation Diagram
 @synthesize flag;
 ...


在主视图控制器中:

 // ViewController.h
 @property (nonatomic, strong) IBOutlet Diagram *schema;
 ...

 // ViewController.m
 @synthesize schema;
 ...
 schema.flag = NO;
 ...


最后一行导致此错误:

 Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UIView setFlag:]: unrecognized selector sent to instance 0xb07e660'


有什么帮助吗?

谢谢。

最佳答案

布置ViewController的视图时,请确保身份检查器将您的视图标识为Diagram而不是UIView,并且正确的视图已链接到控制器中的schema插座。

根据错误消息,当前,运行时认为schema是普通的UIView

09-28 07:08