Flurry报告NumberOfSectionsTableView iPhone SDK出现奇怪的接收器/选择器错误
我正在使用Flurry跟踪我的iPhone应用程序的统计数据,最近我看到了几个非常奇怪的错误。看似随机的对象正在接收“numberOfSectionsInTableView”消息,我不知道如何/为什么。该应用程序使用4.2.1 SDK构建,面向iOS 4.0设备。以下是一些示例的片段:Flurry报告NumberOfSectionsTableView iPhone SDK出现奇怪的接收器/选择器错误,iphone,objective-c,uitableview,crash,unrecognized-selector,Iphone,Objective C,Uitableview,Crash,Unrecognized Selector,我正在使用Flurry跟踪我的iPhone应用程序的统计数据,最近我看到了几个非常奇怪的错误。看似随机的对象正在接收“numberOfSectionsInTableView”消息,我不知道如何/为什么。该应用程序使用4.2.1 SDK构建,面向iOS 4.0设备。以下是一些示例的片段: NSInvalidArgumentException: -[NSCFString numberOfSectionsInTableView:]: unrecognized selector sent to ins
NSInvalidArgumentException: -[NSCFString numberOfSectionsInTableView:]: unrecognized selector sent to instance 0x4f3de10
NSInvalidArgumentException: -[__NSCFData numberOfSectionsInTableView:]: unrecognized selector sent to instance 0x4f55bc0
NSInvalidArgumentException: -[NSPathStore2 numberOfSectionsInTableView:]: unrecognized selector sent to instance 0x4f5ebc0
NSInvalidArgumentException: -[__NSCFType numberOfSectionsInTableView:]: unrecognized selector sent to instance 0x2ac5f0
NSInvalidArgumentException: -[PLPhoto numberOfSectionsInTableView:]: unrecognized selector sent to instance 0x2fbc30
NSInvalidArgumentException: -[PLPhotoLibrary numberOfSectionsInTableView:]: unrecognized selector sent to instance 0x725ea20
我只是在通常的UITableView委托方法中指定numberOfSectionsInTableView,而不是直接调用它。我找到的唯一直接调用此方法的代码位于ASIHTTPRequest库中:
if (section == [self numberOfSectionsInTableView:aTableView]-1) {
return 30;
}
return 0;
但这是在“ASIAuthenticationDialog.m”中,我没有在ASIHTTPRequest中使用auth
以前有人见过这样的东西吗?我愿意接受任何和所有的建议,在这里我被难住了,到目前为止我无法复制它
谢谢。听起来像是一个典型的过度发布问题。您已经过度释放了一个对象,而另一个随机对象正在收到消息
打开僵尸检测并再次尝试您的测试用例。我也有同样的问题,我的问题是我在方法中本地创建了数据源,它运行到相同的内存问题
- (void)setupDataSource {
/* some code to create sections */
TransactionDetailDataSource *dataSource = [[TransactionDetailDataSource alloc] initWithSections:sections];
self.tableView.dataSource = dataSource;
self.tableView.delegate = dataSource;
[self.tableView reloadData];
}
…所以我必须创造新的财产
@property (nonatomic, strong) TransactionDetailDataSource *dataSource;
再加上这一行
self.dataSource = dataSource;
在方法的末尾。您好,谢谢您的回答!假设过度发布发生在应用程序调用numberOfSectionsInTableView时,安全吗?(比如在它之前或之后,等等)或者它可能来自作为numberOfSectionsInTableView消息的接收者列出的任何对象?不幸的是,我开启了僵尸检测,但仍然无法复制(不管怎样,谢谢,这可能就是问题所在,我想我得设法找到答案。