我是Object-c的新手,想在Xcode 4中使用JSON数据源创建一个基于UITableViewController的应用程序。 我导入了JSON框架并定义了一个NSMutableArray来填充响应:
- (void)connectionDidFinishLoading:(NSURLConnection *)connection {
[connection release];
NSString *responseString = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding];
[responseData release];
items = [responseString JSONValue];
[self.tableView reloadData];
}
我一切顺利但是当我尝试在
中访问我的items数组时- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
功能,它崩溃我的应用程序。
可能是什么问题? 提前谢谢!
更新: 我修改了数组填充代码的一部分,它解决了崩溃问题: NSMutableArray * a = [responseString JSONValue];
for(NSDictionary *it in a) {
[items addObject:it];
}
但我仍然不知道为什么......
答案 0 :(得分:0)
就像你将JSON-Value分配给实例变量一样。 该对象是自动释放的(“JSONValue”不包含单词alloc,init或copy),因此它将在将来的某个时间消失。
尝试为对象添加属性: 部首:
@property (nonatomic, retain) NSArray *items;
实现:
@synthesize items;
...
self.items = [responseString JSONValue];
...
- (void)dealloc {
...
self.items = nil;
[super dealloc];
}