2010-11-02 94 views
2

我要添加一個自動的收藏夾功能,是這樣的:加入收藏夾功能,以iPhone應用程序iPhone的SDK

我有一個小區的名字和一個未經檢查的明星的詳細視圖。用戶點擊未選中的星號,選中星號並將特定單元名稱添加到另一個視圖。在任何時候,用戶都可以進入詳細視圖並再次點擊星形,星形變爲未選中狀態,單元名稱將從另一個視圖中刪除。

我想用一個自定義按鈕作爲星號和一個tableview作爲另一個視圖。 最好使用IBAction或IBOutlet。

我在我的DetailView

-(IBAction)toggleFav:(UIButton *)sender { 
if([sender isSelected]){ 

    //... 
    [sender setSelected:NO]; 
    NSMutableArray *array = [[[NSUserDefaults standardUserDefaults] objectForKey:@"valueSaver"] mutableCopy]; 
    [array removeObject:[NSString stringWithString:self.selectedSushi]]; 
    [[NSUserDefaults standardUserDefaults] setObject:array forKey:@"valueSaver"]; 
    [array release]; 

} else { 

    //...  
    [sender setSelected:YES]; 
    NSMutableArray *array = [[[NSUserDefaults standardUserDefaults] objectForKey:@"valueSaver"] mutableCopy]; 
    [array addObject:[NSString stringWithString:self.selectedSushi]]; 
    [[NSUserDefaults standardUserDefaults] setObject:array forKey:@"valueSaver"]; 
    [array release]; 
} 

}我的按鈕代碼

+0

你可以爲UIButton設置一個自定義圖像。 U會想要選擇和未選擇2個不同的圖像。 iboutlet是沒有問題的 – vikingosegundo 2010-11-05 17:33:26

回答

4

代表團是你的朋友:

  • 寫爲詳細視圖,持有星的控制器。
  • 此控制器有一個id<AProtocolDefindeByYou> delegate類型的代表成員。
  • 在協議聲明,你可以像informOfCheckTriggeredOnStar:informOfUnCheckTriggeredOnStar:
  • 方法您實現這個delegegate法在控制器的您的收藏夾查看和設置這個控制器上的每個細節視圖代表。

Delegation & Protocols

編輯
Quick'n'Dirty - 我寫了一個小sample code你。這是非常粗糙,不漂亮,但它展示了它的工作原理。

+1

請參閱我的編輯 – vikingosegundo 2010-11-02 21:27:48

+0

當我運行vscheck收藏夾的示例代碼它失敗3錯誤和4警告showFavoritesTableViewController未找到,並訪問未知組件tableView。 – Souljacker 2010-11-03 13:56:58

+0

再試一次。我忘了添加一些文件 – vikingosegundo 2010-11-03 14:04:22