Code Bye

遇到 控件监听问题

新手自学了IOS   想做一个简单的 ui程序 实现通过控件实现图片的移动
例如说点击向上的箭头 图片就往上移
运行没有错误 但是本人一点击向上的箭头就异常了 找了半天没发现问题在哪 故来求帮助  请教
#import "ViewController.h"
@interface ViewController ()
- (IBAction)up;
@property (nonatomic, weak) IBOutlet UIButton *head;
@end
@implementation ViewController
#pragma mark 向上走
- (IBAction)up
    {
        // 不允许直接修改  对象 的 结构体属性 的成员
        
        // 允许直接 对象 的 结构体 属性
        
        CGRect tempFrame = self.head.frame;
        tempFrame.origin.y -= 10;
        self.head.frame = tempFrame;
    }
    
@end

报错信息:
2016-04-09 00:27:31.670 01-按钮的基本使用[2818:218835] -[ViewController Button]: unrecognized selector sent to instance 0x7fb7d1c830a0
2016-04-09 00:27:31.673 01-按钮的基本使用[2818:218835] *** Terminating app due to uncaught exception “NSInvalidArgumentException”, reason: “-[ViewController Button]: unrecognized selector sent to instance 0x7fb7d1c830a0”
本人注意到这行报错了 但是不知道是什么原因:
2016-04-09 00:27:31.673 01-按钮的基本使用[2818:218835] *** Terminating app due to uncaught exception “NSInvalidArgumentException”, reason: “-[ViewController Button]: unrecognized selector sent to instance 0x7fb7d1c830a0”
再次感谢

解决方案

20

一些基本的错误信息你还是要学会看懂的
[ViewController Button]: unrecognized selector sent to instance 0x7fb7d1c830a0″
这种错误在ios开发中是普通的不能再普通的错误了
根据语法你可以知道,用[]包起来的是方法调用,这个语句的意思就是调用ViewController这个对象中的Button方法,那么错误提示的意思就很清楚了,在ViewController中没有找到名叫Button的注册方法,所以你查看一下代码,找一下哪里出现[ViewController Button]这个语句,把问题解决掉

10

你的
“up”这个Action报空指针

10

// 你的代码是没错的
应该是你storyboard不太会用的原因
@interface ViewController ()

– (IBAction)up;///  不需要引用的,删除应该就可以了

@property (nonatomic, weak) IBOutlet UIButton *head;

@end


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明遇到 控件监听问题