我正在使用Swift在Xcode中构建iPhone应用程序。我是Swift的新手,我正在创建一个基本的应用程序。
到目前为止,我有两个按钮,当"开始"按下按钮,按钮旁边会弹出准确的时间。同样,当"结束"按下按钮,按钮旁边会弹出准确的时间。
我有第三个按钮标题为"总时间。"点击后,我想要弹出两次之间的差异。
开始时间和结束时间在字符串变量中。我的总时间是一个int变量。它不允许我在标签中将整个时间打印为整数。
我该怎么做?
答案 0 :(得分:1)
这是一个Playground,展示了如何获得一个整数,其中两个时间点之间的秒数(NSDate的实例)。
在这里,我使用dispatch_after块模拟点击次数,但是点击按钮时应生成2个NSDate。
import UIKit
import XCPlayground
XCPSetExecutionShouldContinueIndefinitely(continueIndefinitely: true)
// 1st 'time', this NSDate should be created with the click of the 'Start' button
let startTime = NSDate()
// simulate a 2nd 'time' with dispatch_after
dispatch_after(
dispatch_time(
DISPATCH_TIME_NOW,
Int64(2 * Double(NSEC_PER_SEC))
),
dispatch_get_main_queue(), {
// second time comes after 2 seconds, should be what happens on the 'End button'
let endTime = NSDate()
let diff = endTime.timeIntervalSinceDate(startTime) // this is a Float
// convert to Int using NSNumber
let number = NSNumber(float: Float(diff))
let diffInt = number.intValue
}
)