iOS开发之unrecognized selector sent to instance错误
来源:互联网 发布:杭州亿购网络 编辑:程序博客网 时间:2024/05/24 04:16
最近今天在编写一个学习系统ios版本,遇到了unrecognized selector sent to instance 0x7fe0f314de10 类似这样的错误。
我这个程序的大体意思是一个viewcontroller A中需要包含另外一个viewcontroller B或者自定义的viewB,这样可以在A中定义一个B属性。定义之后按常理,在a中获得b属性,直接赋值就可以了,但是却会抛出上面的错误。经过查找资料和亲自测试,发现只要把定义在.m文件中的局部成员变量b,剪切到.h文件中变成全局变量就可以了。这个错误不仅出现在我的这个例子中,在其他btn响应事件啊,等等都会出现此问题,大家不妨试一下把成员变量的位置,从.m文件复制到.h文件中。
为方便大家理解,特找到类似的代码,方便大家理解上面的意思。
**//application delegate 中代码**
- (void)applicationDidFinishLaunching:(UIApplication *)application { WTView *WTView = [[WTView alloc]initWithNibName:@"WTView" bundle:nil]; [self.window addSubview:[WTView view]]; [window makeKeyAndVisible]; }
//自定义的WTView controller 中代码如下
//@interface 中声明
- (IBAction)Click:(id)sender;
//@implementation 中实现
- (IBAction) Click:(id)sender
{
NSLog(@”Click Test”);
}
nib文件中也是正确连接相应的事件。
以上代码正常运行是没有问题,可是当你点击Click 按钮的时候确出现了如下错误:
-[NSCFType buttonClicked:]: unrecognized selector sent to instance 0x44e1e0
这时候对于初学者来说莫名其妙,反复检查都是没有问题,但是就是会crash。
解决方法如下:
问题的原因就是声明MainView controller的时候出现问题。把MainView声明成立局部变量,导致MainView中的action不能正确识别本身的ViewController
改正很简单:
MainView 定义在Application的.h文件中就可以了。
#import <UIKit/UIKit.h> #import "WTView.h" @interface TestAppDelegate : NSObject <UIApplicationDelegate> { UIWindow *window; WTView *WTView; //在此定义 } @property (nonatomic, retain) IBOutlet UIWindow *window; @end
此处只是拿简单的例子举例,在其他例子中,也有可能出现类似问题,大家不妨试一下。如果还有其他方式的,可以发表评论,大家互相学习。
0 0
- iOS开发之unrecognized selector sent to instance错误
- iOS开发之 [NSNull length]:unrecognized selector sent to instance
- iOS 【错误:unrecognized selector sent to instance 0x7aa552b0】
- "unrecognized selector sent to instance *****"的错误
- swift-错误unrecognized selector sent to instance
- IOS:unrecognized selector sent to instance
- ios开发出现 -[__NSDictionaryM isEqualToString:]: unrecognized selector sent to instance 错误
- iOS错误处理之[__NSArrayM 某一方法名:]: unrecognized selector sent to instance
- reason: '-[__NSCFNumber rangeOfCharacterFromSet:]: unrecognized selector sent to instance --iOS开发之崩溃
- unrecognized selector sent to instance
- unrecognized selector sent to instance
- unrecognized selector sent to instance
- unrecognized selector sent to instance
- unrecognized selector sent to instance
- unrecognized selector sent to instance
- unrecognized selector sent to instance
- unrecognized selector sent to instance
- unrecognized selector sent to instance
- B/S网络架构概述
- 最新OpenCV的配置与安装
- Android高级图片滚动控件,编写3D版的图片轮播器
- xml转换成json
- 【CSS】响应式图片
- iOS开发之unrecognized selector sent to instance错误
- 向量处理机6___蝶形单级网络
- 2. laravel 创建第一条路由
- 回乡
- Response对象的write方法
- 黑马程序员——OC内存管理
- 编译安装Ambari
- 深入浅出OOP(二): 多态和继承(继承)
- Oracle数据库sys、system用户的密码修改