我正在尝试将 NSDictionary 发送到 TableViewController,数据最初来自 .plist 文件。我只想将存在于层次结构下方的对象发送到新的 TableViewController。但是当我尝试计算 numberOfSectionsInTableView 中的项目数时出现问题。
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
// Gets the dictionary for the currently selected row
NSDictionary *dict = [[data objectForKey:[[data allKeys] objectAtIndex:indexPath.section]] objectAtIndex:indexPath.row];
// Checks if the key "Room" exists
if([dict objectForKey:@"Room"]) {
SalesFairSessionTableViewController *sessionViewController = [[SalesFairSessionTableViewController alloc] init];
// Sets the data in the subview Controller
[sessionViewController setData:[dict objectForKey:@"Room"]];
// And the title
[sessionViewController setTitle:[dict objectForKey:@"Title"]];
// Problem is here... returns EXC_BAD_ACCESS
NSLog(@"%@", [[[dict objectForKey:@"Room"] allKeys] count]);
[self.navigationController pushViewController:sessionViewController animated:YES];
[sessionViewController release];
}
}
如果我像这样使用 allKeys:
NSLog([[dict objectForKey:@"Room"] allKeys]);
它在控制台中返回 ("Item 1", "Item 2")。
但是当我像这样添加“计数”方法时:
NSLog(@"%@", [[[dict objectForKey:@"Room"] allKeys] count]);
我刚刚得到:程序收到信号:“EXC_BAD_ACCESS”。
我在这里错过了什么?
最佳答案
NSLog(@"%@", [[[dict objectForKey:@"Room"] allKeys] count]);
count 给出了一个 int
,但是你用 %@
打印,期望一个指向对象的指针。请改用 %d
。
关于iphone - 计算 NSDictionary 中的 allKeys 返回 EXC_BAD_ACCESS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4540848/