Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios NSUserDefaults在Swift中注册默认结果_Ios_Swift_Nsuserdefaults - Fatal编程技术网

Ios NSUserDefaults在Swift中注册默认结果

Ios NSUserDefaults在Swift中注册默认结果,ios,swift,nsuserdefaults,Ios,Swift,Nsuserdefaults,我正在AppDelegate中注册默认值: let defaults = NSUserDefaults.standardUserDefaults() let registrationDictionary = [kSelectedBitrate: 128 as NSNumber, kSelectedCodec: kAudioFormatMPEG4AAC as NSNumber] defaults.registerDefaults(registrationDictio

我正在AppDelegate中注册默认值:

let defaults = NSUserDefaults.standardUserDefaults()
        let registrationDictionary = [kSelectedBitrate: 128 as NSNumber, kSelectedCodec: kAudioFormatMPEG4AAC as NSNumber]
        defaults.registerDefaults(registrationDictionary)
        defaults.synchronize()
但是,当我稍后在view controller中读取时,两个整数值都是0:

    let defaults = NSUserDefaults.standardUserDefaults()
    let bitrate = defaults.integerForKey(kSelectedBitrate)
    println(bitrate)
    let codec = defaults.integerForKey(kSelectedCodec)
    println(codec)
    println(kAudioFormatMPEG4AAC)
控制台日志

0
0
1633772320

代码有什么问题?

原因是控制器在
使用
AppDelegate
中的选项完成启动之前正在加载


因此,我将代码复制到控制器的
init
方法,问题就解决了。

尝试将“as NSNumber”替换为“as Int”@TheTom,结果是一样的。代码对我有效。除非(这很愚蠢)
kSelectedBitrate
kSelectedCodec
在这两种情况下是不同的。@rakeshbs所以你在控制台中打印了128个?你能告诉我你的Xcode版本吗?(我的是6.1.1)我的也是
6.1.1
我在AppDelegate中设置它,并在我的viewController中调用它
viewDidLoad