我按照Pubnub文档创建了一个以我的登录用户命名的频道。 Pubnub的网站说要使用这段代码:
PNChannel *channel = [PNChannel channelWithName:user.objectId];
我在Swift中对此进行了编码,因此我将其更改为以下内容:
var channel:PNChannel = PNChannel.channelWithName(currentUser.objectId)
但我收到错误Use of undeclared type 'PNChannel'
我的视图控制器顶部有import PubNub
。我是Pubnub的新手,所以非常感谢任何帮助。
谢谢!
最终编辑!!感谢Mike,我能够进一步了解如何订阅频道,向该频道发布消息,然后收回该消息,以便最终在我的应用中使用它:
@IBAction func sendButton(sender: UIButton) {
//create Pubnub channel
config = PNConfiguration(publishKey: "YOUR KEY HERE", subscribeKey: "YOUR KEY HERE")
client = PubNub.clientWithConfiguration(config)
let channelName = user.objectId! as String
//print(channelName)
let channelArray: [String] = [channelName]
client.subscribeToChannels(channelArray, withPresence: false)
client.addListener(self)
client.publish(self.messageText.text!, toChannel: channelName, compressed: false, withCompletion: nil)
}
func client(client: PubNub!, didReceiveMessage message: PNMessageResult!) {
print("Received: %", message.data.message)
}
答案 0 :(得分:2)
我也遇到了麻烦。我无法弄清楚如何使用频道组。但最后我通过使用这一行订阅了这个来为我工作...
self.client?.subscribeToChannels(channels, withPresence: false)
channels
是String
的数组。只需创建类型为String
的频道,然后将所有频道附加到数组,例如我的channels
数组,然后使用我在上面显示的行。
此外,PubNub网站上有两个非常有用的教程,用Swift编写,可以向您展示所有基础知识。
如果您需要,我可以向您展示我的方法的更深入的示例让我知道。
答案 1 :(得分:0)
您最近从 3.x 迁移到 4.x 客户系列。使用 4.x ,不再有 PNChannel 类。由 NSString 实例表示的所有渠道和渠道组。
祝你好运, 塞吉