Ios 使用NSUserDefault时出错
我已经为这件事绞尽脑汁好几个小时了!我只是想更新一个Ios 使用NSUserDefault时出错,ios,swift,nsuserdefaults,Ios,Swift,Nsuserdefaults,我已经为这件事绞尽脑汁好几个小时了!我只是想更新一个NSUserDefault整数值 我的代码有什么问题?以下是我得到的解释: ***由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:'-[Wenger1.ViewController defaultsChanged]:发送到实例0x7ffe1ae2b540的选择器无法识别' 代码: 您正在为键userFOD设置integer并从NSUserDefault获取string值。我认为这是一个错误。通过查看
NSUserDefault
整数值
我的代码有什么问题?以下是我得到的解释:***由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:'-[Wenger1.ViewController defaultsChanged]:发送到实例0x7ffe1ae2b540的选择器无法识别' 代码:
您正在为键
userFOD
设置integer
并从NSUserDefault
获取string
值。我认为这是一个错误。通过查看您的代码,我不知道基本问题是什么。但是,我可以为您提供代码的修改版本。给你-
var fod = 0
let userFODKey = "userFODKey"
let stUserDefaults = NSUserDefaults.standardUserDefaults()
func fetchFodFromUserDefaults() -> Int? {
if let fod = stUserDefaults.valueForKey(userFODKey) as? Int {
print("fod: \(fod)")
return fod
}
return nil
}
func saveFodToUserDefaults(fodString: String) {
if let fodInt = Int(fodString) {
fod = fodInt
stUserDefaults.setInteger(fod, forKey: userFODKey)
}
}
为数据调用提供数据
saveFodToUserDefaults("yourUIElementTextString")
获取数据调用
let value: Int? = fetchFodFromUserDefaults()
什么是
defaultsChanged
?之前定义的功能是否仍连接到按钮操作?你是从这里得到的吗?您注册通知了吗?谢谢!:-)与NotificationCenter相关的代码导致问题:NSNotificationCenter.defaultCenter().addObserver(self,选择器:“defaultsChanged”,名称:NSUserDefaultsDidChangeNotification,对象:nil)否,与实际错误无关。错误是关于调用[Wenger1.ViewController defaultsChanged]
。我必须说,但是您对代码进行了仔细检查。这并没有试图回答问题。
let value: Int? = fetchFodFromUserDefaults()