PubNub 4.2.5 Swift Objective-C 方法'client:didReceiveStatus:'冲突



我在 Swift IOS9.2 上使用 PubNub 4.2.5 并收到此 conflect 错误消息,任何想法如何解决。谢谢!

/Users/XXXX/xcode/XXXX/PubNub5/PubNub5/AppDelegate.swift:91:10: Objective-C method 'client:didReceiveStatus:' provided by method 'client(_:didReceiveStatus:)' conflicts with optional requirement method 'client(_:didReceiveStatus:)' in protocol 'PNObjectEventListener'

功能

//Handle subscription status change.
    func client(client: PubNub!, didReceiveStatus status: PNSubscribeStatus) {

    }

PubNub Subscribe iOS SDK Listener

PNSubscribeStatus相应的类。

完整的订阅代码就像下面的代码一样。查看 PubNub iOS Swift SDK v4.x 订阅 API 的完整文档。

self.client?.subscribeToChannels(["my_channel1","my_channel2"], withPresence: false)
 
 
// Handle new message from one of channels on which client has been subscribed.
func client(client: PubNub!, didReceiveMessage message: PNMessageResult!) {
 
    // Handle new message stored in message.data.message
    if message.data.actualChannel != nil {
 
        // Message has been received on channel group stored in
        // message.data.subscribedChannel
    }
    else {
 
        // Message has been received on channel stored in
        // message.data.subscribedChannel
    }
 
    print("Received message: (message.data.message) on channel " +
                "((message.data.actualChannel ?? message.data.subscribedChannel)!) at " +
                "(message.data.timetoken)")
}
 
// Handle subscription status change.
func client(client: PubNub!, didReceiveStatus status: PNSubscribeStatus!) {
 
    if status.category == .PNUnexpectedDisconnectCategory {
 
        // This event happens when radio / connectivity is lost
    }
    else if status.category == .PNConnectedCategory {
 
        // Connect event. You can do stuff like publish, and know you'll get it.
        // Or just use the connected event to confirm you are subscribed for
        // UI / internal notifications, etc
    }
    else if status.category == .PNReconnectedCategory {
 
        // Happens as part of our regular operation. This event happens when
        // radio / connectivity is lost, then regained.
    }
    else if status.category == .PNDecryptionErrorCategory {
 
        // Handle messsage decryption error. Probably client configured to
        // encrypt messages and on live data feed it received plain text.
    }
}

最新更新