我在AppDelegate中注册默认值:
let defaults = NSUserDefaults.standardUserDefaults()
let registrationDictionary = [kSelectedBitrate: 128 as NSNumber, kSelectedCodec: kAudioFormatMPEG4AAC as NSNumber]
defaults.registerDefaults(registrationDictionary)
defaults.synchronize()
但是,当我稍后在视图控制器中读取它时,两个整数值都是0:
let defaults = NSUserDefaults.standardUserDefaults()
let bitrate = defaults.integerForKey(kSelectedBitrate)
println(bitrate)
let codec = defaults.integerForKey(kSelectedCodec)
println(codec)
println(kAudioFormatMPEG4AAC)
控制台日志
0
0
1633772320
代码出了什么问题?
答案 0 :(得分:2)
原因是控制器在didFinishLaunchingWithOptions
中的AppDelegate
之前加载。
因此,我将代码复制到控制器的init
方法,问题就解决了。