use*_*185 -2 iphone objective-c uitableview ios
所以我有一个带有表视图的UIViewController.我做了这个没有故事板.
在这个viewController中我有一个HTTPResponse方法,我创建tableview并为其分配委托和数据源.
- (void)APIDownload:(APIDownload*)request {
CJSONDeserializer *deserializer = [CJSONDeserializer deserializer];
NSError *error = nil;
NSDictionary *data = [deserializer deserializeAsDictionary :request.downloadData error:&error];
if (error) {
[[iToast makeText:@"serious error"] show];
} else {
if (data && data[@"status"] && [data[@"status"] isEqual:@"ok"]) {
self.categoriesArray = data[@"data"];
self.rootTable = [[UITableView alloc] initWithFrame:self.slideContainer.frame
style:UITableViewStylePlain];
self.rootTable.delegate = self;
self.rootTable.dataSource = self.categoriesArray;
[self.slideContainer addSubview:self.rootTable];
[self.rootTable reloadData];
[self.rootTable setHidden:NO];
} else {
[[iToast makeText:[NSString stringWithFormat:@"%@", data[@"data"][@"message"]]] show];
}
}
}
Run Code Online (Sandbox Code Playgroud)
我已经为uitableviewdelegate和uitableviewdatasource实现了所有四种必要的方法,但仍然得到了
2015-07-27 12:57:29.073 xxx[10663:602881] -[__NSCFArray tableView:numberOfRowsInSection:]: unrecognized selector sent to instance 0x7f9e10490ae0
2015-07-27 12:57:29.077 xxx[10663:602881] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFArray tableView:numberOfRowsInSection:]: unrecognized selector sent to instance 0x7f9e10490ae0'
Run Code Online (Sandbox Code Playgroud)
你得到的问题是这一行:
self.rootTable.dataSource = self.categoriesArray;
Run Code Online (Sandbox Code Playgroud)
您将表数据源设置为数组.我相信你想把它设置为自我:
self.rootTable.dataSource = self;
Run Code Online (Sandbox Code Playgroud)
只需记住在视图控制器中实现数据源方法.
| 归档时间: |
|
| 查看次数: |
6022 次 |
| 最近记录: |