2012-04-03 175 views
-2

我在class2上設置NSMutableArray值。執行class2函數時會填充並保留數組。問題是我需要切換到class1,然後從class2中調用函數。然後,數組是空的! 我認爲這個問題來自於我用來調用class2函數的方法,當再次分配時...如何解決它?謝謝保留NSMutableArray值

class2 *theInstance = [class2 alloc]; 

[theInstance saveFilesNews:llistaArxius:folderType:originType]; 
+0

如何切換到類1(通過彈出或其他方式),並且可以添加更多代碼。 – rishi 2012-04-03 16:28:23

+0

切換到class1的相同方法。我可以根據需要發佈代碼,但我不知道是否會幫助或哪個部分完全... – Jaume 2012-04-03 16:37:01

+0

如果您從第2類彈出到第1類,那麼您將無法做到這一點。因爲當時所有的2類對象都將被釋放。你在做這個嗎?如果是這種情況,那麼您需要在彈出之前將該值傳遞給第1類。 – rishi 2012-04-03 16:39:14

回答

0

如果您從第2類彈出到第1類,那麼您將無法做到這一點。因爲當時所有的2類對象都將被釋放。如果是這種情況,那麼您需要在彈出之前將該值傳遞給第1類。

您可以在CLass 1中創建一個數組,並且可以從Class 2創建一個Class1.As我認爲您正在將Class 2推向Class 1,因此從Class2中可以輕鬆訪問Class 1。

0

你永遠不會初始化theInstance。首先,你的命名約定很差。一個類,比如class2,應該被大寫,即Class2。其次,你需要一個比Class2更具描述性的名字。真正的問題是,您沒有從第一行代碼中獲取準備好的實例。您爲Class2分配足夠的內存空間,但它永遠不會初始化。此外,如果您在Class2中有一個數組,您用一些對象填充,然後在Class1中想要以某種方式替換或訪問這些對象,則該數組需要是Class2的屬性,需要確保您正在訪問已存在的Class2實例的相同引用。如果你分配/初始化一個新的Class2實例,你將有一個空數組。