UIRefreshControl addTarget 操作导致“无法识别的选择器”错误
Posted
技术标签:
【中文标题】UIRefreshControl addTarget 操作导致“无法识别的选择器”错误【英文标题】:UIRefreshControl addTarget action causing "unrecognized selector" error 【发布时间】:2014-09-13 14:34:36 【问题描述】:我有一个UITableViewController
,我在其中实现了一个UIRefreshControl
用于拉取刷新。一切正常,表格正在从我的网络服务中填充。但是当我下拉刷新时,我得到了错误:
[MyViewController refreshView]: unrecognized selector sent to instance ...
这是在抱怨 addTarget 操作:
UIRefreshControl * refresh = [[UIRefreshControl alloc] init];
[refresh addTarget:self action:@selector(refreshView) forControlEvents:UIControlEventValueChanged];
编辑器中该行的错误标志是Undeclared selector 'refreshView'
我的 refreshView 方法很简单:
- (void) refreshView: (UIRefreshControl *)refresh
NSLog(@"test");
关于为什么这会导致应用程序崩溃的任何想法? (我运行的是 ios 7.1)
【问题讨论】:
【参考方案1】:如果您将方法声明为“refreshView:
”(即带有参数),则需要在“@selector
”位中添加一个冒号。
也就是说,一行换一个字符:
[refresh addTarget:self action:@selector(refreshView:) forControlEvents:UIControlEventValueChanged];
【讨论】:
哈哈谢谢,解决了。一旦可以,我会接受。赞赏以上是关于UIRefreshControl addTarget 操作导致“无法识别的选择器”错误的主要内容,如果未能解决你的问题,请参考以下文章
无法覆盖“UIRefreshControl”类型的可变属性“refreshControl”?具有协变类型“UIRefreshControl”