2017-04-16 8 views
0

私はTabBarアプリケーションを持っており、お気に入りタブを設定しようとしています。 ボタンを作成してお気に入りのセルをタブに送ることができましたが、お気に入りに追加すると、お気に入りタブに正しく追加されますが、アプリを終了するとお気に入りは保存されません。お気に入りのタブにお気に入りのセルを保存するにはどうすればよいですか? UserDefaultは最高の仕事をしますか?そして TableViewControllerでオブジェクトを保存する方法

...それはどのように行うことができるかもしそうならこれは私が私の好きなボタンの設定方法です:

//create a new button 
     let Favoritebutton: UIButton = UIButton(type: UIButtonType.custom) 
     //set image for button 
     Favoritebutton.setImage(UIImage(named: "EmptyHeart.png"), for: .normal) 
     Favoritebutton.setImage(UIImage(named: "FilledHeart.png"), for: .selected) 
     //add function for button 
     Favoritebutton.addTarget(self, action: #selector(self.button), for: .touchUpInside) 
     //set frame 
     Favoritebutton.frame = CGRect(x:0,y: 0,width: 35,height: 35) 

     Favoritebutton.isSelected = UserDefaults.standard.bool(forKey: "isSaved") 

     let barButton = UIBarButtonItem(customView: Favoritebutton) 
     //assign button to navigationbar 

     self.navigationItem.rightBarButtonItem = barButton 

    } 


    @IBAction func button(sender: UIButton) { 
     let newValue = !sender.isSelected 
     sender.isSelected = newValue 
     UserDefaults.standard.set(newValue, forKey: "isSaved") 

     let tabItem = self.tabBarController?.tabBar.items![3] 
     sel_val = tabItem?.badgeValue 
     if(sel_val == nil){ 
      sel_val = "0" 
     } 
     let sel_num = Int(sel_val!) 

     let fav: NSMutableArray = [] 
     fav.add(barImage) 
     fav.add(barName) 
     fav.add(streetName) 
     if sender.isSelected { 
      tabItem!.badgeValue = String(format: "%d", sel_num! + 1) 
      favorite.add(fav) 
     } else { 
      tabItem!.badgeValue = String(format: "%d", sel_num! - 1) 
      favorite.remove(fav) 
     } 
    } 

答えて

0

@Newbieを - 私はあなたが、アプリがあなたが何であるか開いた第2の時間をチェックしていないと思いますお気に入りのタブをNSUserDefaultに追加します。

+0

おそらく...どうすればいいですか? –

+0

アプリを開くと、お気に入りのアイテムが選択されているかどうかをチェックできます。選択されている場合は、表示可能なものに基づいて選択されているものを特定できます –

+0

コードスニペットで助けてもらえますか? –

関連する問題