Swift 使用';dispatch_get_main_queue()';-XMPP
我正在使用XMPP做一个聊天活动项目。我正在使用以下代码生成它Swift 使用';dispatch_get_main_queue()';-XMPP,swift,chat,ejabberd,xmppframework,Swift,Chat,Ejabberd,Xmppframework,我正在使用XMPP做一个聊天活动项目。我正在使用以下代码生成它 var stream:XMPPStream! let xmppRosterStorage = XMPPRosterCoreDataStorage() var xmppRoster: XMPPRoster! override func viewDidLoad() { super.viewDidLoad() xmppRoster = XMPPRoster(rosterStorage: xmppRoster
var stream:XMPPStream!
let xmppRosterStorage = XMPPRosterCoreDataStorage()
var xmppRoster: XMPPRoster!
override func viewDidLoad() {
super.viewDidLoad()
xmppRoster = XMPPRoster(rosterStorage: xmppRosterStorage)
stream = XMPPStream()
stream.addDelegate(self, delegateQueue: dispatch_get_main_queue())
xmppRoster.activate(stream)
let button = UIButton()
button.backgroundColor = UIColor.red
button.setTitle("SendMessage", for: .normal)
button.frame = CGRect(x: 90, y: 100, width: 300, height: 40)//CGRect(90, 100, 300, 40)
button.addTarget(self, action: #selector(self.sendMessage), for: .touchUpInside)
self.view.addSubview(button)
stream.myJID = XMPPJID(string: "test@localhost")
do {
try stream.connect(withTimeout: 30)
}
catch {
print("error occured in connecting")
}
}
我指的是教程。
但我在下面这一行遇到了一些问题
stream.addDelegate(self, delegateQueue: dispatch_get_main_queue())
问题是,
“dispatch\u get\u main\u queue()的用法不明确”
主要是我使用的是Swift4.2
任何人请帮我找出解决办法。谢谢…新语法是
DispatchQueue.main
,如果上下文需要DispatchQueue
,则只需.main
。因此:
stream.addDelegate(self, delegateQueue: .main)
您可以使用以下语法:
stream.addDelegate(self, delegateQueue: .main)
但是在xmpp中,您应该需要用swift4语法更新委托方法。他们只提供swift 3格式
在更改了最新的xmpp委托方法后,一切对我来说都很好…我已经尝试过了,但它没有调用委托方法Sokay,但这不是你对你的帖子所抱怨的。如果您的问题与编译时错误不同,则需要发布实际问题的详细信息。