2012-07-22 111 views
0

我正在製作一個iPhone應用程序,通過一組viewpilotler從用戶輸入收集數據。在視圖的最後,我將所有數據封裝在一個名爲GELObject的自定義對象中。現在我需要將這些數據保存在某個NSMutableArray中,以便可以通過一個tableviewcontroller訪問它,該tableviewcontroller是rootviewcontroller的另一個分支。我正在考慮從tableviewcontroller得到一個全局變量,但是我做了一些研究,並且正在閱讀關於appdelegate中的單例。一些指導將非常感謝,如果您感覺特別慷慨,請快速解釋如何製作和使用單身人士,因爲它很吸引我。 謝謝!全球NSMutableArray變量xcode

回答

0

要管理一個單身人士,你需要創建一個全局變量(可以限制在一個文件的範圍static),初始哨兵值爲nil,並且在第一次調用時使用類方法創建單身人士。

例如:

static Something* globalSomething = nil; 

@implementation Something 

+ (id) 
sharedSomething 
{ 
    if (! globalSomething) 
    { 
    /* can use different initializer if necessary */ 
    globalSomething = [[[self class] allocWithZone:NULL] init]; 
    } 
    return globalSomething; 
} 

. . . 

@end 
+0

所以我應該把這個在我的應用程序委託類?之後,如何從導航結束時的tableviewcontroller或視圖控制器調用它? – 2012-07-22 06:10:21

+0

這種類型的方法應該是任何一個類都應該有singleton的成員(在這種情況下,該類必須分配一個可變數組)。你可以在課堂上自己調用它,例如在這個例子中,使用'[Something sharedSomething]'(它返回一個'Something *')。初始化程序將分配數組,並將該數組聲明爲該類中的一個字段。 – 2012-07-22 07:13:49