只需使用一些示例代码,并使用UITableViewDataSource遇到意外问题。
我的测试应用程序是基本的“导航栏”iPhone模板,用于显示列表。我添加了一个NSObject子类来实现UITableViewDataSource,将此类嵌入到RootViewController.xib中并将其连接到TableView的dataSource插座。
该应用启动正常。 DataSource初始化,表视图填充前10行。经度:
2011-05-11 10:20:03.367 JustAList[10562:207] JALMainViewDataSource init
2011-05-11 10:20:03.375 JustAList[10562:207] cellForRowAtIndexPath <JALMainViewDataSource: 0x5d23730>
2011-05-11 10:20:03.378 JustAList[10562:207] cellForRowAtIndexPath <JALMainViewDataSource: 0x5d23730>
2011-05-11 10:20:03.380 JustAList[10562:207] cellForRowAtIndexPath <JALMainViewDataSource: 0x5d23730>
2011-05-11 10:20:03.381 JustAList[10562:207] cellForRowAtIndexPath <JALMainViewDataSource: 0x5d23730>
2011-05-11 10:20:03.383 JustAList[10562:207] cellForRowAtIndexPath <JALMainViewDataSource: 0x5d23730>
2011-05-11 10:20:03.384 JustAList[10562:207] cellForRowAtIndexPath <JALMainViewDataSource: 0x5d23730>
2011-05-11 10:20:03.384 JustAList[10562:207] cellForRowAtIndexPath <JALMainViewDataSource: 0x5d23730>
2011-05-11 10:20:03.385 JustAList[10562:207] cellForRowAtIndexPath <JALMainViewDataSource: 0x5d23730>
2011-05-11 10:20:03.385 JustAList[10562:207] cellForRowAtIndexPath <JALMainViewDataSource: 0x5d23730>
2011-05-11 10:20:03.386 JustAList[10562:207] cellForRowAtIndexPath <JALMainViewDataSource: 0x5d23730>
当我滚动时(即需要新单元格)应用程序崩溃:
2011-05-11 10:20:06.249 JustAList[10562:207] -[__NSCFTimer tableView:cellForRowAtIndexPath:]: unrecognized selector sent to instance 0x5d23730
2011-05-11 10:20:06.379 JustAList[10562:207] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFTimer tableView:cellForRowAtIndexPath:]: unrecognized selector sent to instance 0x5d23730'
它连续10次被称为cellForRowAtIndexPath没有问题,现在它说无法识别的选择器?
它是否可能与我正在初始化的方式有关(即隐式地从nib)?也许它过早地被释放了?嗯..有想法要检查,但想先浪费太多时间在这里发帖提问(我实际上打算尝试完全不同,不是期待这个问题!)。
希望有人可以帮忙吗? 干杯!
答案 0 :(得分:0)
我几乎立即为自己解决了这个问题(参见我自己的评论)。
感谢提醒'idz'。我无法立即回答 - 如果我没记错的话。我说我必须等24小时才能回答问题。