使用未声明的类型' PNChannel'尝试在Pubnub中创建频道时

时间:2016-04-16 01:06:57

标签: swift swift2 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的新手,所以非常感谢任何帮助。

谢谢!

最终编辑!!感谢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)

}

2 个答案:

答案 0 :(得分:2)

我也遇到了麻烦。我无法弄清楚如何使用频道组。但最后我通过使用这一行订阅了这个来为我工作...

self.client?.subscribeToChannels(channels, withPresence: false)

channelsString的数组。只需创建类型为String的频道,然后将所有频道附加到数组,例如我的channels数组,然后使用我在上面显示的行。

此外,PubNub网站上有两个非常有用的教程,用Swift编写,可以向您展示所有基础知识。

如果您需要,我可以向您展示我的方法的更深入的示例让我知道。

答案 1 :(得分:0)

您最近从 3.x 迁移到 4.x 客户系列。使用 4.x ,不再有 PNChannel 类。由 NSString 实例表示的所有渠道和渠道组。

祝你好运, 塞吉