0

TempProducts と Products の 2 つのエンティティがあります。

TempProducts は TableView に取り込まれます。ユーザーはテーブルビューにデータを入力する必要があります。ボタンをクリックしたときよりも、TempProducts からすべてのレコードを取得して Products に追加する必要があります。その後、テーブルが次回空になるようにすべての TempProducts を削除します。

- (IBAction)saveData:(id)sender

{

//FETCH ALL RECORDS OF TEMPPRODUCTS
NSFetchRequest * allTempProducts = [[NSFetchRequest alloc] init];
[allTempProducts setEntity:[NSEntityDescription entityForName:@"TempProducts" inManagedObjectContext:self.managedObjectContext]];
[allTempProducts setIncludesPropertyValues:NO]; //only fetch the managedObjectID


//FETCH ALL RECORDS OF TEMPPRODUCTS
NSFetchRequest * allProducts = [[NSFetchRequest alloc] init];
[allProducts setEntity:[NSEntityDescription entityForName:@"Products" inManagedObjectContext:self.managedObjectContext]];
[allProducts setIncludesPropertyValues:NO]; //only fetch the managedObjectID

NSError * error = nil;
NSArray * tProducts = [self.managedObjectContext executeFetchRequest:allTempProducts error:&error];

NSArray * products = [self.managedObjectContext executeFetchRequest:allProducts error:&error];


NSLog(@"The array TempProducts has %li records", [tProducts count]);
NSLog(@"The array Products has %li records", [products count]);

//-------------------------------------------------------------------------

//ADD OBJECT TO PRODUCTS

NSManagedObjectContext *con = [self managedObjectContext];
NSManagedObject *countryObject=[NSEntityDescription
                                insertNewObjectForEntityForName:@"Products"
                                inManagedObjectContext:con];



//--------------------------------------------------------------------------
//error handling goes here
for (NSManagedObject * tProduct in tProducts) {
    [self.managedObjectContext deleteObject:tProduct];
}
NSError *saveError = nil;
[self.managedObjectContext save:&saveError];
//more error handling here

}

4

1 に答える 1