我需要创建一个应用程序来跟踪员工在办公室的出勤情况,我将从服务器获取时间日期和时间string
之后我需要更新时间标签,然后将其转换为时间Date
课程用于下一个过程。
class MainMenuVC: UIViewController {
@IBOutlet weak var timeLabel: UILabel!
@IBOutlet weak var dateLabel: UILabel!
@IBOutlet weak var checkinStatusLabel: UILabel!
var employee : Employee?
var time : String?
var date : String?
override func viewDidLoad() {
super.viewDidLoad()
getDateTimeFromServer()
}
func getDateTimeFromServer() {
// request to server to get date and time
// update the UI (date and time label)
}
}
但问题是,时间数据总是一样的,当然因为我只向服务器请求一次,所以'分钟'分钟将是静态的。对于这个考勤应用程序来说这将是一个问题。
让我们说当用户在15:23打开该菜单,但是当他们在7分钟后实际点击签到按钮时,所以将被发送回服务器的数据是15:23(当viewDidLoad首次激活时) 15:30。
那么我如何解决这个问题所以时间总是会更新,并且总是与我的UI标签和我的Date
类服务器的时间相同?
答案 0 :(得分:3)
这是一个简单的编程问题。你需要
或
Date
,从设备获取当前日期,计算差异,并将该差异用作偏移量。下次用户点击签入按钮时,从设备获取当前Date
,添加您的偏移量,并将其用作当前Date
。我留给你了解如何做到这一点的细节。看一下Xcode中的Date
类引用。有一些方法可让您在Dates
和数值之间进行转换,并将数字偏移应用于Dates
。