2011-11-14 96 views
1

比方說在頁面A我有一個NSManagedObjects的數組,用戶選擇一個單元格,然後導航到一個新的UIViewController來顯示有關所選NSManagedObject的更多詳細信息。Objective-C - 將NSManagedObject從一個頁面傳遞給另一個頁面?

newViewController.myManagedObject = selectedManagedObject; 
[self.navigationController pushViewController:newViewController animated:YES]; 
[newViewController release]; 

Ususally我會設置傳遞對象的屬性來分配,因爲我是NSObject的所有者? 這是否適用於NSManagedObjects,因爲所有者是Core-Data而不是我? 該NSManagedObject的屬性應該是retain還是assign

回答

2

DetailViewController應保留該對象。

多於一個對象可以是另一個對象的所有者。想象它是皮帶所有者,而不是附在皮帶上的狗的主人。所以很多人都可以給狗帶上皮帶,一旦所有的人都脫下皮帶,狗就會免費,而且再也沒有主人了。

在你的場景中,核心數據可以釋放對象(分離它的皮帶),只要你的代碼保留了對象(在附加皮帶上),對象將不會被釋放(狗不會逃跑)。

相關問題