我正在尝试将一些数据放入数据库中。我在其他视图中也使用以下代码。有它的功能。但在这种观点上,它不起作用。你可以看到下面的代码。
- (void)fetchKlassementIntoDocument:(UIManagedDocument *)document
{
NSLog(@"log");
dispatch_queue_t fetchKlassement = dispatch_queue_create("klassement fetcher", NULL);
dispatch_async(fetchKlassement, ^{
NSLog(@"Log2");
NSLog(@"log3");
NSArray *klassement = [GenkData getRanking];
[document.managedObjectContext performBlock:^{
NSLog(@"klassement array %@",klassement);
for (NSDictionary *genkInfo in klassement ) {
[Klassement klassementWithGenkInfo:genkInfo inManagedObjectContext:document.managedObjectContext];
NSLog(@"inserted klassement");
}
NSLog(@"Log4");
[document saveToURL:document.fileURL forSaveOperation:UIDocumentSaveForOverwriting completionHandler:NULL];
NSLog(@"Log5");
NSLog(@"Log 6");
}];
});
NSLog(@"Log7");
dispatch_release(fetchKlassement);
NSLog(@"Log8");
}
这会出现以下错误日志。
2012-10-25 10:50:07.527 RacingGenk[17989:907] log
2012-10-25 10:50:07.528 RacingGenk[17989:907] Log7
2012-10-25 10:50:07.529 RacingGenk[17989:907] Log8
2012-10-25 10:50:07.531 RacingGenk[17989:4f03] Log2
2012-10-25 10:50:07.532 RacingGenk[17989:4f03] log3
2012-10-25 10:50:07.604 RacingGenk[17989:907] *** Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[__NSArrayI objectAtIndex:]: index 0 beyond bounds for empty array'
获取数据后,我用这些数据填充了一个tableview。我认为这就是错误出现的原因。但有人可以说我出了什么问题吗?
亲切的问候。
答案 0 :(得分:0)
代码中的一行:
NSArray *klassement = [GenkData getRanking];
检查getRanking方法& klassement数组。由于此线路仅发生崩溃。
为两者记录日志。希望它能解决您的问题。