gpt4 book ai didi

ios - IOS swift 4 中的点对点连接

转载 作者:行者123 更新时间:2023-11-28 06:10:33 24 4
gpt4 key购买 nike

我需要有关此代码的帮助。我按照 2014 年的教程进行操作,发现 dispatch_async 出错。我正在尝试创建一个应用程序,允许用户与附近的其他玩家或对等玩家一起玩。我认为代码需要更新,因为它已在 swift 4 中重命名,但我不知道新名称是什么。

这是代码

// below is where the code are wrong
dispatch_async(dispatch_get_main_queue(),{ () -> Void in
NSNotificationCenter.defaultCenter().postNotificationName("MPC_DidChangeStateNotification",object:nil,userInfo: userInfo)
})

完整代码在这个链接https://github.com/javaplanet17/test/blob/master/multipeer它在第 36 行的函数中。

错误列表首先我得到了这个错误

MPCHandler.swift:55:9: 'NSNotificationCenter' has been renamed to 'NotificationCenter'

我按下修复并重命名它然后我得到另一个错误

MPCHandler.swift:55:123: Use of unresolved identifier 'userInfo'

我按下修复并重命名它然后我仍然得到错误

MPCHandler.swift:55:45: Cannot call value of non-function type 'NotificationCenter' Replace '()' with ''

我再次按下修复并更改它

现在的代码是这样的:

NotificationCenter.defaultCenter.postNotificationName("MPC_DidChangeStateNotification",object:nil,userInfo: userinfo)

然后我将其更新为:

dispatch_async(dispatch_get_main_queue(),{ () -> Void in
NotificationCenter.default.post("MPC_DidChangeStateNotification",object:nil,userInfo: userinfo)
})

还是报错

MPCHandler.swift:55:121: Extra argument 'userInfo' in call

我试着把它改成:

DispatchQueue.main.async(execute:{ () -> Void in NotificationCenter.default.post(name: NSNotification.Name(rawValue: "MPC_DidReceiveDataNotification"), object: nil, userInfo: userinfo))
})

但我仍然得到一个错误。如何修复此错误?

最佳答案

这种方法对我有用,可以试试

DispatchQueue.main.async(execute: { _ in
NotificationCenter.default.post(name: NSNotification.Name(rawValue: "MPC_DidChangeStateNotification"), object: nil, userInfo: userInfo)
})

关于ios - IOS swift 4 中的点对点连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46854861/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com