【发布时间】:2013-03-26 07:03:42
【问题描述】:
BrowseViewController 将 BrowseResultsTableViewController 加载为 subView。在那个subview,是下面的代码块:
- (void)viewDidLoad
{
[super viewDidLoad];
UIRefreshControl *refreshControl = [[UIRefreshControl alloc] init];
[refreshControl addTarget:self action:@selector(refreshResults:) forControlEvents:UIControlEventValueChanged];
[self.tableView addSubview:refreshControl];
}
- (void)refreshResults:(UIRefreshControl *)sender
{
NSLog(@"REFRESH");
//[self performSelector:@selector(updateTable) withObject:nil afterDelay:1];
}
抛出错误Thread 1: EXC_BAD_ACCESS (code=2 ....
如果我清理项目并重新编译,我会收到此错误:
2013-03-25 23:59:06.256 rockit[40772:c07] -[UIViewControllerWrapperView refreshResults:]:无法识别的选择器发送到实例 0x7516fe0 2013-03-25 23:59:06.257 rockit[40772:c07] - 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“-[UIViewControllerWrapperView refreshResults:]:无法识别的选择器发送到实例 0x7516fe0”
为什么找不到方法?
【问题讨论】:
-
范围可能有问题 增加实例范围或移动到实例级别
-
您使用自动参考计数器吗?如果没有,那么 init 需要一个
retain。
标签: objective-c ios6 uitableview