下面的代碼是從蘋果公司的核心數據模板,但我見過類似的代碼,從許多不同的開發商:將屬性複製到用於方法的「新鮮」變量中的邏輯是什麼?
- (void)saveContext
{
NSError *error = nil;
NSManagedObjectContext *managedObjectContext = self.managedObjectContext;
if (managedObjectContext != nil) {
if ([managedObjectContext hasChanges] && ![managedObjectContext save:&error]) {
// Replace this implementation with code to handle the error appropriately.
// abort() causes the application to generate a crash log and terminate. You should not use this function in a shipping application, although it may be useful during development.
NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
abort();
}
}
}
爲什麼會出現在managedObjectContext
創建新對象?爲什麼self.managedObjectContext
不夠。就我個人而言,我會用這個。
只要使用屬性,將屬性複製到新的局部變量的邏輯是什麼?
沒有創建「新對象」。它只是一個變量,它包含一個指向現有對象的指針。 –