我试图在willmovefromview方法中保存歌曲的当前时间,以便在didmovetoview方法中场景重新开始的同时播放歌曲,但我不知道用什么代码存储一个NSTimeinterval
我存储和获取当前时间的代码(不工作:NSTimeinterval不能转换为Int())
backgroundMusicPlayer.currentTime = NSUserDefaults.standardUserDefaults().objectForKey("musictime")
NSUserDefaults.standardUserDefaults().setInteger(backgroundMusicPlayer.currentTime, forKey: "musictime")
这样做的正确方法是什么?
答案 0 :(得分:2)
如果你在Xcode源文件中的NSTimeInterval
上“cmd-click”,你会看到它
NSTimeInterval
被定义为Double
的类型:
typealias NSTimeInterval = Double
因此,您必须使用doubleForKey
和setDouble
来获取并在用户默认值中设置它:
backgroundMusicPlayer.currentTime = NSUserDefaults.standardUserDefaults().doubleForKey("musictime")
NSUserDefaults.standardUserDefaults().setDouble(backgroundMusicPlayer.currentTime, forKey: "musictime")
答案 1 :(得分:1)
由于NSTimeInterval实际上是一个Double(正如@Martin R已经指出的那样),你必须执行以下操作来存储你的值:
NSUserDefaults.standardUserDefaults().setDouble(backgroundMusicPlayer.currentTime, forKey: "someKey")
NSUserDefaults.standardUserDefaults().synchronize()
要获得您的价值,您必须执行以下操作:
backgroundMusicPlayer.currentTime = NSUserDefaults.doubleForKey("someKey")