码迷,mamicode.com
首页 > 移动开发 > 详细

ios关于点击事件selector传参的问题,看似简单却容易混淆(已解决)

时间:2015-06-21 18:38:07      阅读:145      评论:0      收藏:0      [点我收藏+]

标签:ios   selector   点击事件   

最近在使用selector时经常思考的问题,

给UIButton 添加点击事件,可以在selector后加“:”将button作为参数传入方法中,

今天用

[NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(rotateAction:) userInfo:nil repeats:NO];

写了一个方法

#pragma mark - rotateAction

- (void)rotateAction:(ViewController *)controller{

//    UIView * view = [controller.view.subviews lastObject];

    NSLog(@"%@",controller);

//    view.backgroundColor = [UIColor yellowColor];

}


看起来类似的写法却无法获得self(控制器),我分别打印了一下self和controller结果发现地址不一样,所以肯定不是一个对象,我就在思考是为什么,再仔细看打印结果终于发现问题所在

2015-06-21 15:35:22.806 test仿射变换[10698:1998925] <ViewController: 0x7ff64db38a50>

2015-06-21 15:35:23.807 test仿射变换[10698:1998925] <__NSCFTimer: 0x7ff64d8486d0>



显而易见二者不是同一个类,所以selector传入的参数是:点击事件的调用者例如:button,slider,progress,nstimer等等

ios关于点击事件selector传参的问题,看似简单却容易混淆(已解决)

标签:ios   selector   点击事件   

原文地址:http://blog.csdn.net/zx6268476/article/details/46582273

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!