我會建議創建一個數據容器單例。單身人士是一個在項目生命週期中只創建一次的對象。它有一個可以讓你請求對象的類方法。
搜索「可可單身設計模式」以查找更多關於它的信息。
您可能有一個類MyDataObject,它可能有一個類方法sharedDataObject。 .m文件的內容可能如下所示:
@implementation MyDataObject
static _sharedDataObject;
+(MyDataObject) sharedDataObject
{
if (!_sharedDataObject)
_sharedDataObject = [[MyDataObject alloc] init];
return _sharedDataObject;
}
@end
然後,您只需根據需要向數據對象的標頭中添加屬性即可。任何你需要它,#進口在你其他類的數據對象的頭部,然後用這樣的代碼:
//To store a value to a property in the shared data object:
[MyDataObject sharedDataObject].someProperty = someValue;
//To fetch a value:
someValue = [MyDataObject sharedDataObject].someProperty;
如果需要共享數據的內容對象堅持,可以使共享數據對象符合NSCoding,然後在應用程序切換到後臺時將其內容保存到文件中,並在啓動時從文件加載其內容。
請注意,可可和可可觸摸使用了很多單身物件。 NSUserDefaults是一個單例,NSFileManager也是。單例的提示是使用類方法返回單個對象。通常在Apple的框架中,類方法的名稱將以「共享」或「默認」開頭
所有你需要做的就是創建一個類,它或者有一個靜態共享對象(類似於NSFileManager等)或者B)靜態方法。這些都是以'+'而不是'-'開始的方法。 – borrrden
你正在尋找一個'singleton'。有大量的例子,你正在尋找的東西很容易找到與新的搜索關鍵字。 – nhgrif
我真的很困惑的一件事是這個。假設我在A類中創建了這個objectZ,然後去B類,我怎樣才能找到或訪問objectZ而不創建它自己的新實例?或者是單身人士所覆蓋 – HurkNburkS