Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 设置自定义UIView实例的属性时出现无法识别的选择器错误_Objective C_Xcode_Ipad_Ios5 - Fatal编程技术网

Objective c 设置自定义UIView实例的属性时出现无法识别的选择器错误

Objective c 设置自定义UIView实例的属性时出现无法识别的选择器错误,objective-c,xcode,ipad,ios5,Objective C,Xcode,Ipad,Ios5,在一个项目(XCode 4,iOS 5,带ARC)中,我有一个UIView的子类,具有布尔属性: // Diagram.h @interface Diagram : UIView @property (assign) BOOL flag; @end // Diagram.m @implementation Diagram @synthesize flag; ... 在主视图控制器中: // ViewController.h @property (nonatomic,

在一个项目(XCode 4,iOS 5,带ARC)中,我有一个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
布局视图时,请确保标识检查器将您的视图标识为
图表而不是
UIView
,并且正确的视图链接到控制器中的
架构
出口

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

在视图XIB(图的位置)中,单击图视图

在右侧面板中,选择第三个选项卡,然后可以更改对象类(第一个名为“custom class”的字段)。实际上,它应该是UIView。将其设置为“图表”。

找到它


图.m未在目标>构建阶段>编译源代码中列出。

标识检查器将我的视图正确标识为图。在NIB>连接检查器>出口中,架构连接到图。测试:在视图控制器的“viewDidLoad:`中,放入
NSLog(@“schema:%@”,self.schema)查看加载nib时正在创建什么类型的对象。测试结果:模式:因此,很明显,nib中存在一些不完全正确的连接或属性,但除了您已经检查的内容之外,很难猜测。该框架是否与您希望连接到
架构的视图匹配?在我的例子中,问题是我没有将自定义类设置为视图控制器!