Я ищу способ запустить определенный бит кода, как только приложение запустится. Я пытаюсь сделать простой одноранговый чат-приложение, используя swiftSockets.код запуска при запуске приложения OSX
import Cocoa
import CryptoSwift
class MasterViewController: NSViewController {
@IBOutlet var msgField: NSTextField!
@IBOutlet var msgWindow: NSTextView!
let server:UDPServer = UDPServer(addr: "127.0.0.1", port: 5000)
override func viewDidLoad() {
super.viewDidLoad()
}
func receive() {
let data = server.recv(1024)
let string = NSData.withBytes(data.0!)
let str = NSString(data: string, encoding: NSUTF8StringEncoding) as String?
msgWindow.string! += server.addr + " says: " + str! + "\n"
}
@IBAction func send(sender: NSButton) {
msgWindow.string! += "I said: " + msgField.stringValue + "\n"
msgField.stringValue = ""
server.send(str: msgField.stringValue)
let data = server.recv(1024)
let string = NSData.withBytes(data.0!)
let str = NSString(data: string, encoding: NSUTF8StringEncoding) as String?
msgWindow.string! += server.addr + " says: " + str! + "\n"
}
}
У меня есть код выше, посыл прекрасно работает, однако, как я могу получить функцию для запуска в фоновом режиме, как только получает, как приложение запускается?
спасибо, быстрый вопрос. Будет ли я запускать dispatch_async() внутри viewDidLoad()? – bshah
Да, dispatch_async() отправляет задачи, которые вы хотите использовать в фоновом режиме, поэтому неплохо было бы выполнить эту диспетчеризацию на первых этапах запуска вашего приложения, например, viewDidLoad(). –