Прямо сейчас я работаю над часовым приложением, которое позволяет пользователю пробивать в/из рабочего времени. Но мне трудно понять, как сделать эту функцию возможной.Разница во времени между нажатиями кнопок swift
В моей модели у меня есть:
struct TimeLog {
var punchInTime: CFAbsoluteTime
var punchOutTime: CFAbsoluteTime
var timeWorked: Double
init (pInTime: CFAbsoluteTime, pOutTime: CFAbsoluteTime) {
self.punchInTime = pInTime
self.punchOutTime = pOutTime
self.timeWorked = pOutTime - pInTime
}
}
И в мой контроллер зрения:
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
@IBAction func punchInButtonPressed(sender: AnyObject) {
// not sure what actions are needed here to start the "aTimeLog" variable
}
@IBAction func punchOutButtonPressed(sender: AnyObject) {
// not sure what actions are needed here to complete the "aTimeLog" variable
}
Я пытаюсь закончить эту переменную:
var aTimeLog = TimeLog(pInTime: //get the punch in time here, pOutTime: //get the punch out time here)
И однажды переменной «aTimeLog» завершен (нажата кнопка punchOutButton). Я хочу отобразить журнал всех моих переменных «timeWorked».
Простите меня заранее. Вы могли бы сказать, что я просто изучаю программирование и Swift.
, это имеет смысл, потому что я хочу, чтобы вовремя запомнилось, даже если приложение закрыто. Я ввел код, но я думаю, что я в замешательстве относительно того, как это работает, и я получаю неразрешенный идентификатор на «sliderTime» (не уверен, откуда это взялось), и он также говорит, что NSUserDefaults не конвертируется в NSDate. Кроме того, я смущен тем, как я могу хранить это в словаре. (Я хочу разрешить пользователю просматривать их в виде таблицы). ... Извините за мое невежество, я все равно хочу учиться. :) – Leighton
Извините, что была моя ошибка ... исправлена. Код выше не будет работать из коробки, вам нужно будет исправить и поиграть с ним. Я сделал простой пример для вас на http://pastebin.com/Sv4pSyrA, но опять же, он решает только некоторые из ваших проблем. Единственный способ научиться - это выяснить это сами :) держитесь! –
Возможно, я что-то пропустил, но не понимаю, как извлечь дату из функции timeIntervalSinceDate. – Leighton