【发布时间】: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