Я пытаюсь написать свою первую утилиту на Swift.Я пытаюсь написать виджет MacOS Notification Center, который будет отображать состояния сервера Minecraft.
Я успешно могу запросить URL-адрес, чтобы получить статус в JSON, а затем проанализировать его в NSDictionary
. * 1004.*
Я также прочитал, что я могу сделать textField.stringValue = "New String"
, но по какой-то причине он не отображается в моем виджете.
Я читал много сообщений в блоге и другие сообщения StackOverflow по теме и могуне вижу ничего, что я делаю неправильно.Имея в виду, это моя первая попытка, поэтому я не знаю, чего не знаю!
Здесь я пытаюсь обновить NSTextField:
func updateMinecraftMonitorView(_ server : NSDictionary) {
print(server)
print("Updating view..")
DispatchQueue.main.async {
print(self.online.stringValue) // Outputs "Label"
if (server["online"] as! Bool) {
self.online.stringValue = "Online"
} else {
self.online.stringValue = "Offline"
}
print(self.online.stringValue) // Outputs "Online"
}
}
И этонаходится в верхней части моего файла:
import Cocoa
import NotificationCenter
class TodayViewController: NSViewController, NCWidgetProviding {
@IBOutlet weak var online: NSTextField!
.
.
.
Я ожидаю, что поле будет обновлено в моем представлении, но все, что я вижу, это: