2011-02-02 91 views
1

我想添加對象到NSMutableArray中,一旦用戶點擊添加到收藏夾按鈕我可以將數據放入NSDictionary,但是當我將NSDictionary傳遞給數組時,NSLog出現回零。我錯過了什麼嗎?iPhone的addObject從另一個ViewController的NSMutableArray使用IBAction

-(IBAction) addtofavorites: (id)sender 
{ 
    NSArray *key = [NSArray arrayWithObjects:@"Title", @"Description", nil]; 
    NSArray *objects = [NSArray arrayWithObjects:CurrentTitle, description.text, nil]; 
    NSDictionary *fadd = [[NSDictionary alloc] initWithObjects:objects forKeys:key]; 

    FavoritesViewController *fvc = [[FavoritesViewController alloc] init]; 
    [fvc.favorites addObject:fadd]; 
    [FavoritesViewController release]; 
} 
+0

東西,所以我去一個不同的方向,但仍然有同樣的問題。我現在使用核心數據保存我的收藏夾。我不知道如何將遊戲添加到我的NSManagedObjectContex。我有一個叫做Games的類,想要傳遞3個NSString。我是否在我的AppDelegate,Games或我的ViewController中的Context中創建了一個方法?當然確實需要一段時間來教授自己的核心數據,但我認爲我現在已經掌握了一些。謝謝 – 2011-03-25 17:25:23

回答

0
FavoritesViewController *fvc = [[FavoritesViewController alloc] init]; 
[fvc.favorites addObject:fadd]; 
[FavoritesViewController release]; 

看起來不正確的。你應該已經初始化的FavoritesViewController(其中可以直接訪問並調用-addObject:)...

編輯

首先,請問在當前視圖控制器(即具有-addtofavorites之一:定義在它上)與FavoritesViewController?用戶如何在這兩個視圖控制器之間導航?

其次,收藏夾列表是否會在應用的不同運行過程中持續存在?如果是這樣,你打算如何保存/恢復收藏夾?第三,將它們添加到將用於填充FavoritesViewController的底層「模型」可能會更好,而不是添加到視圖控制器的收藏夾。

從「視圖」中分離「模型」可以非常強大,同時還可以簡化代碼。

+0

我在我的DetailViewController中創建了IBAction,這就是爲什麼我在IBAction中分配並初始化它 – 2011-02-02 22:08:04

0

我會做的是在你的頭文件中爲你保留的FavoritesViewController創建一個實例變量。然後在按下addtofavorites時使用lazy init。像下面

if (!detailViewController) 
    { 
    self.fvc = [[FavoritesViewController alloc] init]; 
    } 

[self.fvc.favorites addObject:fad]; 

然後,只需鬆開FavoritesViewController對象的dealloc

- (void)dealloc { 
    [fvc release]; 
    [super dealloc]; 
} 
相關問題