保存UIButton状态NSUserDefaults
问题描述:
我在UITableViewCell里有一个UIButton。用户触摸此按钮后,我想禁用它。 下面是我使用的代码:保存UIButton状态NSUserDefaults
class TextCell: UITableViewCell {
var buttonstate:Bool = true
[...]
-
@IBAction func ButtonPressed(sender: AnyObject) {
self.likesButton.enabled = false
NSUserDefaults.standardUserDefaults().setObject(false, forKey: "buttonstate")
NSUserDefaults.standardUserDefaults().synchronize()
}
然后:
override func awakeFromNib() {
var buttonstate: [String]? = NSUserDefaults.standardUserDefaults().objectForKey("buttonstate") as? [String]
if((buttonstate) != nil){
self.likesButton.enabled = false
}
else{
self.likesButton.enabled = true
}
}
不幸的是,代码不起作用。 (触摸后按钮可以启用)。 感谢您的帮助和抱歉的问题,我刚开始..
答
更新你的代码像下面到您的awakeFromNib
功能:
var buttonstate = NSUserDefaults.standardUserDefaults().objectForKey("buttonstate") as Bool
self.likesButton.enabled = buttonstate
希望它能帮助。
也许你需要在更新按钮状态后调用'tableView.reloadData()'。 – Zhang 2015-04-04 15:36:16