取り寄せで困っています。SQL エディターで確認すると、フェッチの直前に 2 つのフィールド (整数の位置と文字列の weburl) を持つテーブル webs が空であることがわかります。ただし、フェッチ後:
NSArray * arrwebs = [managedObjectContext
executeFetchRequest:allwebs error:&error];
1 つの要素があります。
"Error: (null)
2013-02-05 15:01:39.001 Assignment3-1[36607:c07] arrWwebs has 1 elements
2013-02-05 15:01:39.001 Assignment3-1[36607:c07] Postition: 0"
arrwebs は空であってはいけませんか? この前に要素を削除しました(プログラムおよびSQLエディターを介して)。
コードは次のとおりです。
-(void) logElements
{
AppDelegate *delegate = [[UIApplication sharedApplication] delegate];
NSManagedObjectContext *managedObjectContext = delegate.managedObjectContext;
NSManagedObject *newWebs;
newWebs = [NSEntityDescription insertNewObjectForEntityForName:@"Webs" inManagedObjectContext:managedObjectContext];
NSFetchRequest * allwebs = [[NSFetchRequest alloc] init];
[allwebs setEntity:[NSEntityDescription entityForName:@"Webs" inManagedObjectContext:managedObjectContext]];
[allwebs setIncludesPropertyValues:NO]; //only fetch the managedObjectID
NSError *error = nil;
NSArray * arrwebs = [managedObjectContext executeFetchRequest:allwebs error:&error];
NSLog(@"Error: %@", [error localizedDescription]);
NSLog(@"arrWwebs has %d elements", [arrwebs count]);
for (NSManagedObject * info in arrwebs) {
//[managedObjectContext deleteObject:webobject];
NSLog(@"Postition: %@", [info valueForKey:@"position"]);
NSLog(@"URL: %@", [info valueForKey:@"weburl"]);
}
if (![managedObjectContext save:&error]) {
NSLog(@"Whoops, couldn't save: %@", [error localizedDescription]);
}
}
何か案が?