Skip to main content
 首页 » 操作系统

xcode之快速将时间间隔存储到 nsuserdefaults

2024年01月01日45zhoujg

我试图在 willmovefromview 方法中保存歌曲的当前时间,以便在场景将在 didmovetoview 方法中再次开始时同时播放歌曲,但我不知道使用什么代码来存储一个 NSTimeinterval

我的一段代码用于存储和获取当前时间(不工作:NSTimeinterval 不能转换为 Int())

backgroundMusicPlayer.currentTime = NSUserDefaults.standardUserDefaults().objectForKey("musictime") 
NSUserDefaults.standardUserDefaults().setInteger(backgroundMusicPlayer.currentTime, forKey: "musictime") 

正确的做法是什么?

请您参考如下方法:

如果您在 Xcode 源文件中的 NSTimeInterval 上“cmd-click”,您将看到 NSTimeInterval 被定义为 Double 的类型别名:

typealias NSTimeInterval = Double 

因此您必须使用 doubleForKey 和 setDouble 来获取并在用户默认值中设置它:

backgroundMusicPlayer.currentTime = NSUserDefaults.standardUserDefaults().doubleForKey("musictime") 
NSUserDefaults.standardUserDefaults().setDouble(backgroundMusicPlayer.currentTime, forKey: "musictime")