考虑以下三行代码
NSLog(@"start:%f", player.currentTime);
episode.resumeStamp = [NSNumber numberWithDouble:player.currentTime];
NSLog(@"end: %f", [episode.resumeStamp doubleValue]);
episode
是NSManagedObject的子类,播放器是AVAudioPlayer
。 player.currentTime
会返回NSTimeInterval
(双倍)。可以想到,当上面显示的代码运行时,“start:”和“end:”值将是相同的。奇怪的是,记录下面的内容......
2012-09-30 20:13:02.941 MyApp[473:303] start:3.809116
2012-09-30 20:13:02.942 MyApp[473:303] end: 0.000000
2012-09-30 20:13:03.941 MyApp[473:303] start:4.809048
2012-09-30 20:13:03.942 MyApp[473:303] end: 0.000000
2012-09-30 20:13:04.941 MyApp[473:303] start:5.809116
2012-09-30 20:13:04.942 MyApp[473:303] end: 0.000000
为什么会发生这种情况的任何想法?非常感谢你的时间!
答案 0 :(得分:3)
episode
很可能是nil
只需将日志更新到
即可NSLog(@"end: %f\nepisode %@", [episode.resumeStamp doubleValue], nil);