使用 Swift 创建日志系统
Creating a logging system using Swift
我正在尝试创建一个日志系统,该系统从 "log.txt" 文件读取并将其显示到我的 ViewController 中的 NSTextView。这是我的,
while(server.listen()) {
NSThread.sleepForTimeInterval(1)
self.consoleOutput.string! = log.read()
}
log.read() 输出一个 "log.txt" 文件。
self.consoleOutput.string!更新 NSTextView
它立即冻结,关于如何解决这个问题有什么想法吗?第一次做日志系统
NSThread.sleepForTimeInterval(x)
冻结您的应用程序,所以这不是您要找的。您希望每秒执行一次代码,因此一种方法是使用 NSTimer-class。这是您可以使用的一些示例:
var timer: NSTimer?
override func viewDidLoad() {
super.viewDidLoad()
timer = NSTimer.scheduledTimerWithTimeInterval(1, target: self, selector: "timerFired:", userInfo: nil, repeats: true)
timer?.fire()
}
func timerFired(timer: NSTimer) {
self.consoleOutput.string! = log.read()
}
要停止您调用 timer?.invalidate()
的计时器。
我正在尝试创建一个日志系统,该系统从 "log.txt" 文件读取并将其显示到我的 ViewController 中的 NSTextView。这是我的,
while(server.listen()) {
NSThread.sleepForTimeInterval(1)
self.consoleOutput.string! = log.read()
}
log.read() 输出一个 "log.txt" 文件。
self.consoleOutput.string!更新 NSTextView
它立即冻结,关于如何解决这个问题有什么想法吗?第一次做日志系统
NSThread.sleepForTimeInterval(x)
冻结您的应用程序,所以这不是您要找的。您希望每秒执行一次代码,因此一种方法是使用 NSTimer-class。这是您可以使用的一些示例:
var timer: NSTimer?
override func viewDidLoad() {
super.viewDidLoad()
timer = NSTimer.scheduledTimerWithTimeInterval(1, target: self, selector: "timerFired:", userInfo: nil, repeats: true)
timer?.fire()
}
func timerFired(timer: NSTimer) {
self.consoleOutput.string! = log.read()
}
要停止您调用 timer?.invalidate()
的计时器。