尝试在 Pubnub 中创建频道时使用未声明的类型 'PNChannel'
Use of undeclared type 'PNChannel' when trying to create a channel in Pubnub
我正在按照 Pubnub 文档创建一个以我的登录用户命名的频道。 Pubnub 的网站说要使用此代码:
PNChannel *channel = [PNChannel channelWithName:user.objectId];
我在 Swift 中对此进行编码,因此我将其更改为以下内容:
var channel:PNChannel = PNChannel.channelWithName(currentUser.objectId)
但我得到一个错误 Use of undeclared type 'PNChannel'
我的视图控制器顶部有 import PubNub
。我是 Pubnub 的新手,非常感谢任何帮助。
谢谢!
最终编辑!!多亏了迈克,我才能够更进一步,弄清楚如何订阅频道、向该频道发布消息,然后取回该消息,以便我最终可以在我的应用程序中使用它:
@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)
}
我也遇到过这个问题。我不知道如何使用频道组。但最后我通过使用这条线订阅来为我工作...
self.client?.subscribeToChannels(channels, withPresence: false)
其中 channels
是 String
的数组。简单地创建你的频道,它应该是 String
类型,然后将你所有的频道附加到一个数组,比如我的 channels
数组,然后使用我上面显示的行。
此外,PubNub 网站上有两个非常有用的教程,它们是用 Swift 编写的,可以向您展示所有基础知识。
如果您需要,我可以向您展示我的方法的更深入示例。
看起来您最近从 3.x 迁移到 4.x 客户群。 4.x 不再有 PNChannel class。 NSString 个实例表示的所有频道和频道组。
此致,
谢尔盖
我正在按照 Pubnub 文档创建一个以我的登录用户命名的频道。 Pubnub 的网站说要使用此代码:
PNChannel *channel = [PNChannel channelWithName:user.objectId];
我在 Swift 中对此进行编码,因此我将其更改为以下内容:
var channel:PNChannel = PNChannel.channelWithName(currentUser.objectId)
但我得到一个错误 Use of undeclared type 'PNChannel'
我的视图控制器顶部有 import PubNub
。我是 Pubnub 的新手,非常感谢任何帮助。
谢谢!
最终编辑!!多亏了迈克,我才能够更进一步,弄清楚如何订阅频道、向该频道发布消息,然后取回该消息,以便我最终可以在我的应用程序中使用它:
@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)
}
我也遇到过这个问题。我不知道如何使用频道组。但最后我通过使用这条线订阅来为我工作...
self.client?.subscribeToChannels(channels, withPresence: false)
其中 channels
是 String
的数组。简单地创建你的频道,它应该是 String
类型,然后将你所有的频道附加到一个数组,比如我的 channels
数组,然后使用我上面显示的行。
此外,PubNub 网站上有两个非常有用的教程,它们是用 Swift 编写的,可以向您展示所有基础知识。
如果您需要,我可以向您展示我的方法的更深入示例。
看起来您最近从 3.x 迁移到 4.x 客户群。 4.x 不再有 PNChannel class。 NSString 个实例表示的所有频道和频道组。
此致, 谢尔盖