使用 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() 的计时器。