2010-02-15 22 views
0

目標c | xcode | iPhone的問題如何將對象複製到ivars中供以後使用?

我建立一個貨幣交易的模型(數據)類,並有指針和對象複製基本/ noob問題。我創建的Transaction類包含4或5個代表對象類型變量的ivars /屬性。現在,當我從視圖控制器中獲取用戶輸入的數據以填充這些ivars時,是否可以安全地使用指針或者是否需要製作該對象的副本,然後將其分配給伊娃?

因爲我需要在用戶退出程序後存儲這些事務我假設我在前一個會話中對指針的任何引用基本上都是斷開的鏈接。我在這裏錯了,任何解釋,也許一些代碼示例將不勝感激。

如果您對如何在應用程序未使用時存儲數據有任何建議,這也會有所幫助。

非常感謝,

尼克

回答

1

我建議重讀介紹導遊爲你似乎有點過這裏的軌道;過度考慮基礎知識。沒什麼大不了的,我們都去過那裏了(經常遇到新東西時仍然在那裏)。

首先,對於任何字符串值,複製它。在屬性,你應該使用的條款,你會想:

@property(copy) NSString *myString; 

確保您-releasemyString-dealloc方法。

對於其他類型的值,它確實與上下文相關。複製通常是安全的路線。 NSDateNSNumber實例碰巧是不可變的,所以副本是不相關的,但是是免費的。

至於保存數據,你是半正確的。指針在您的應用程序的運行會話中不會保持有效/相同。如果您需要保存數據,您可以通過許多常用機制中的任何一種明確地執行此操作。對於完全不基於文檔,應用特定角色的簡單數據,用戶默認值可能就足夠了。否則,請參閱有關歸檔數據的文檔。

相關問題