2012-03-01 31 views
0

我有一個主視圖,我初始化幾個陣列並在viewDidUnload發佈它們。所以當我更改爲其他視圖時,如果我有指導,並且我回到主視圖,則所有數組都將再次爲零。保持視圖之間的陣列

我該做什麼是:當應用程序是午餐時,數組被初始化,y使用它們,我可以去其他人的意見,當回到主視圖,數組保持值,只有當該應用程序關閉,然後釋放所有陣列。

我該如何做?

回答

0

只需在-dealloc中釋放它們並在viewDidLoad中初始化它們即可。這種方式只有在視圖關閉和重新加載時纔會被釋放或取消,它們將被重新初始化。

希望這會有所幫助。

0

您可以針對您的問題使用不同的方法。我可以告訴你一些方法。

  • 你可以編寫視圖初始化方法,它將NSArray作爲參數。像:

    - (id)initWithArray:(NSArray *)myArray { 
        [super init]; 
        //here you can store an NSArray inside this ViewController in @property. For ex: 
        currentArray = myArray; 
        return self; 
    } 
    
  • 您可以使用全球存儲像CoreData和使用NSManagedObject類來定義實例在每個視圖必需的對象。您可以使用delegate approach。例如,您可以在第一個視圖中從第二個視圖中委派方法。

+0

非常感謝,但正如我告訴過你,我是一個真正的初學者,我在哪裏必須插入代碼?我只有一個報頭和一個實現: ViewController.h和ViewController.m 這裏是動初始化: - (無效)viewDidLoad中 { // iniciliza LA塔布拉 tableViewData = [[NSMutableArray裏的alloc] initWithObjects:無]; tableViewDataDetail = [[NSMutableArray alloc] initWithObjects:nil]; [super viewDidLoad]; } 因此,每當我轉到其他視圖並回來時,我都會丟失我輸入的數據。 我該如何使用initWithArray? 再次抱歉是如此愚蠢。 – user1243660 2012-03-02 11:10:56