我收到了以下错误,我似乎无法弄清楚发生了什么。请帮帮我。
由于未捕获的异常'NSInvalidArgumentException'终止应用程序,原因:' - [UIViewController tableView:numberOfRowsInSection:]:无法识别的选择器发送到实例0x57405a0'
答案 0 :(得分:0)
这可能是任何事情。它可能是一个被调用的委托,它没有实现协议,或者它可能是一个内存泄漏,在某个已释放的内存上进行调用。这很难说。尝试使用“Analyze”进行编译并检查所有警告。
答案 1 :(得分:0)
如果你正在使用:
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { return [array count]; } –
尝试:
NSLog(@"%i", [array count]);
看看有什么回报。也许数组没有正确分配。
答案 2 :(得分:0)
我遇到了类似的问题,但是该解决方案与 numberOfRowsInSection :方法无关,因为Xcode也指向了该方法。
相反,最主要的问题是我没有设置 UIViewController的自定义 类设置...在我的情况下,它为空,而不是在下面的示例图像中具有有效的类名称,例如“ DetailsVC2”。解决此问题后,通常的 numberOfRowsInSection:操作将被识别并正确调用。
通常,您要返回数组的计数(例如tableData),但在我的简单情况下,我返回的值为1。
NSArray *tableData; // Defined somewhere above, and populated prior to the viewDidAppear() operation
.
.
.
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return 1; // or tableData.count;
}