【问题标题】:How to save objects in TableViewController如何在 TableViewController 中保存对象
【发布时间】:2017-09-12 04:59:33
【问题描述】:

我有一个 TabBar 应用程序,我正在尝试设置一个收藏夹选项卡。 我设法创建了一个按钮并将收藏的单元格发送到选项卡,但现在如果我添加到收藏夹,它们会正确添加到收藏夹选项卡中,但如果我退出应用程序,它不会保存收藏夹。如何将收藏的单元格保存在收藏选项卡中? UserDefault 会做得最好吗?如果是的话怎么做...

这就是我设置我最喜欢的按钮的方式:

//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)
        }
    }

【问题讨论】:

    标签: ios swift uitableview button nsuserdefaults


    【解决方案1】:

    @Newbie - 我认为您没有检查,第二次当应用程序使用您的 NSUserDefault 打开您最喜欢的选项卡时。​​p>

    【讨论】:

    • 可能不会……我该怎么做?
    • 当你打开应用程序时,你可以检查是否有任何喜欢的项目被选中,如果被选中,你可以根据你可以显示的来识别被选中的项目
    • 是的,当然,但我对 swift 不太了解。我将解释您可以通过的流程。 - 当应用程序在启动选项中打开时,您可以检查是否有任何选定的项目,然后将此 *URL*(stackoverflow.com/questions/2325780/…)
    猜你喜欢
    • 2013-10-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-22
    • 2013-07-21
    相关资源
    最近更新 更多