やりたいこと
Swiftで作ったCommand Line Tool(CUIアプリ)で数秒に一回関数を定期的に実行したいです。
困ったところ
調べた通りにやってみましたが、定期実行したい関数が実行されなかったり、一回しか実行してくれないです。
やったこと
調べたところ、NSTimerというのを使うのが定番のようなので、いろいろな記事に書いてあるようにやってみました。
swift
1import Foundation 2class MyClass { 3 @objc func greet() { 4 print("Hello World") 5 } 6 init() { 7 let timer = Timer.scheduledTimer(timeInterval: 1.0, target: self, selector: #selector(self.greet), userInfo: nil, repeats: true) 8 timer.fire() 9 } 10} 11var myclass = MyClass()
実行はswift main.swift
とswiftc main.swift
./main
の両方でやってみましたが、どちらでもダメでした。
参考にした記事
https://qiita.com/KikurageChan/items/5b33f95cbec9e0d8a05f
http://tiny-wing.hatenablog.com/entry/2015/11/04/092413
環境
macOS10.15.2
Swift 5.1.3
知りたいこと
どのようにするれば定期実行をすることができるのか、何が原因でできていないのかについて知りたいです。
よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/01/13 01:39