2012-03-05 90 views
0

感謝您的時間和閱讀。我想要做的是找出爲什麼這個NSLog告訴我NSArray總是空的,不管是什麼。我在想,問題在於我發起了NSMutableArray錯誤。你能否看看並決定我是否做得對,如果可能的話給我一種方法將數組傳遞給NSMutableArray添加NSArray到NSMutableArray

謝謝!

//Get Defaults 
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 
NSArray *favoriteArray = [[defaults objectForKey:@"favorites"] copy]; 

//Declares Mutable Array 
self.favorites = [[NSMutableArray alloc] initWithObjects:favoriteArray, nil]; 
NSLog(@"array: %@", favorites); 

更新:我想通了。事實證明,你有initWithArray聲明它,而不是試圖將其添加爲一個對象

解決方案:

- (void)viewDidLoad { 

    //Get Defaults 
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 
    NSArray *favoriteArray = [[defaults objectForKey:@"favorites"] copy]; 

    //Declares Mutable Array 
    self.favorites = [[NSMutableArray alloc] initWithArray:favoriteArray]; 

    [super viewDidLoad]; 
} 
+0

你確定你的地方設置objectForKey?您可能需要立即調用同步才能看到它。設置「收藏夾」鍵的代碼在哪裏? – Vinnie 2012-03-05 04:04:14

+0

請注意,您正在記錄'favoriteArray',而不是'收藏夾'。 – ThomasW 2012-03-05 04:04:19

+0

我修正了日誌問題,當我發佈這個時,這是我自己的錯誤。無論如何,我也添加了代碼。你們中的任何一個人看到問題? – JTApps 2012-03-05 04:11:54

回答

4

做到這一點的方法是使用arrayWithArray,這裏是你怎麼做:

myNSMutableArray = [NSMutableArray arrayWithArray:myArray]; 
0

你曾經設置你的用戶默認對象的「收藏夾」鍵?

+0

它在後面的方法中設置,我可以發佈它,如果你想。我將一個URL字符串傳遞到「收藏夾」可變數組中,然後在默認值中保存「收藏夾」數組。 – JTApps 2012-03-05 04:05:50

+0

@JTApps按照什麼順序執行? – ThomasW 2012-03-05 04:18:19

+0

我明白了!你不能將一個數組作爲一個對象添加到一個可變數組中,我不得不使用initWithArray – JTApps 2012-03-05 04:20:42