私は迅速に作業しており、毎分機能を実行したい。私は、次の更新まで何分も残して、カウントダウンタイマーでラベルを更新したい。Swift:毎分funcを実行
私はすべての分を私はアプリ上のページを表示するが、私は自動更新にそれをしたい時に更新している
if let date = newDate {
let formatter : NSDateFormatter = NSDateFormatter()
formatter.dateFormat = "HH:mm"
formatter.timeZone = NSTimeZone.defaultTimeZone()
let string : NSString = formatter.stringFromDate(date)
let calendar = NSCalendar.currentCalendar()
let comp = calendar.components([.Minute], fromDate: date)
let minute = comp.minute
let remaining : Int = 60 - minute
var mins = "s"
if remaining == 1 {
mins = ""
}
self.refreshInLabel.text = "Refreshes at \(string) - \n \(remaining) minute\(mins) remaining "
}
作業の基本的なバージョンを持っています。 私はNSTimerを見ましたが、これは(ここに示すように:How to make a countdown with NSTimer on Swift)でもできると思いますが、特定の時間表示の後にのみ、分で火をつける方法がありません
編集: 私は
override func viewDidLoad() {
super.viewDidLoad()
let calendar = NSCalendar.currentCalendar()
let comp = calendar.components([.Minute], fromDate: NSDate())
minute = comp.minute
_ = NSTimer.scheduledTimerWithTimeInterval(1, target: self, selector: #selector(AdoptionCentreVC.updateTimer), userInfo: nil, repeats: true)
}
func updateTimer() {
let calendar = NSCalendar.currentCalendar()
let comp = calendar.components([.Minute], fromDate: NSDate())
let curMin = comp.minute
if(curMin > minute) {
NSLog("Changed")
self.minute = curMin
}
}
これまでに、次のしている私はtheresの場合、私はあなたがあなたのFUNC分ごとに起動したい場合NSNotification
を発射することであることを示唆している何より良い方法
をあなたのコードには 'NSTimer'はありませんので、あなたはそれを追加する必要があります。 –
私はそれを知っていますが、私は唯一の例は私が次の分に60秒などを表示見つけることができるので、間隔を追加するか分からない –