0

ここで、fetchedObjects の値を取得しました。配列の値を更新するにはどうすればよいですか?

NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];

NSEntityDescription *entity = [NSEntityDescription entityForName:@"Reserve" inManagedObjectContext:self.managedObjectContext]; 
[fetchRequest setEntity:entity]; 


//NSSortDescriptor tells defines how to sort the fetched results
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"number" ascending:YES];
NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor, nil];
[fetchRequest setSortDescriptors:sortDescriptors];
NSLog(@"sort count%d",[sortDescriptors count]);        

fetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest managedObjectContext:self.managedObjectContext sectionNameKeyPath:nil cacheName:@"Root"];

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"(number = 100)", self.txtReserve.text];

// [fetchRequest setPredicate:predicate];
[fetchedResultsController.fetchRequest setPredicate:predicate];
self.fetchedObjects = [self.managedObjectContext executeFetchRequest:fetchRequest error:&error];      
NSLog(@"Count of array::::%d",[fetchedObjects count]);
NSManagedObject *device = [fetchedObjects objectAtIndex:0];  
NSLog(@"device::::%@",device);
4

1 に答える 1

0

CoreDataに関する多くの本/チュートリアルのいくつかを読んだり見たりすることをお勧めします。あなたはテクノロジーの非常に基本的な理解を欠いています。

まず、受け取るオブジェクトはデータベース内のオブジェクトを表します。データを取得するには、エンティティの説明を知っている必要があります。たとえば、「Reserve」エンティティの「number」属性を取得する最も基本的な方法は次のとおりです...

[managedObject valueForKey:@"number"];

Xcode(またはmogeneratorと呼ばれるツール)を使用すると、エンティティ用にサブクラスを生成でき、カスタムアクセサーメソッドを介してデータに簡単にアクセスできます。

于 2012-05-08T13:46:24.653 に答える