尽管问题与时间差有关,但我想我可能会遇到异步/关闭相关的问题。如何在Swift 2.0中以分钟为单位获得时间差异
所以我有一个datetime来自我的iOS应用程序通过Alamofire网络服务器。我做一比较,如下:由时间elapsedTime进行计算,因此返回“发现无”的问题
let recordedDate = obj[0]["time"].stringValue //TIME FROM SERVER
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
let date = dateFormatter.dateFromString(recordedDate)
let elapsedTime = (Int(NSDate().timeIntervalSinceDate(date!))/60/60)
//THE PROBLEM IS THAT date IS NIL.
if elapsedTime > 1{
self.isActiveLabel.text = "Offline"
}else{
self.isActiveLabel.text = "Active"
}
所以从我的故障,它看起来像日期didnt完成处理。
这个问题在模拟器上不会发生,因此排除该日期的可能性真的是空的。问题只发生在设备上。如何在日期准备好后运行epalsedTime?还是有更好的做法来实现这一点。
任何智慧或指导表示赞赏。
谢谢
在你的代码中没有异步调用,所以控制将从上到下流动。 –
如果'recordedDate'不是'nil'但是'date'是,那么问题是日期字符串与您交给日期格式化程序的格式不匹配。 –
格式化程序中'ss'后面可能有错误的空间。此外,你似乎没有解开你的选择。 –