【问题标题】:XMPP buddyWentOnline found nilXMPP buddyWentOnline 发现为零
【发布时间】:2016-08-19 11:32:28
【问题描述】:

我正在尝试编写 XMPP 客户端。与我的服务器的连接正常,但是当我的名册中的某人在线时,应用程序崩溃了,因为“buddyWentOnline”意外发现为零?

func xmppStream(sender: XMPPStream!, didReceivePresence presence: XMPPPresence!) {
    let presenceType = presence.type()
    let myUsername = sender.myJID.user
    let presenceFromUser = presence.from().user

    if presenceFromUser != myUsername {
        print("Did receive presence from \(presenceFromUser)")
        if presenceType == "available" {
            delegate.buddyWentOnline("\(presenceFromUser)")
        } else if presenceType == "unavailable" {
            delegate.buddyWentOffline("\(presenceFromUser)")
        }
    }
}

【问题讨论】:

  • 你添加了“buddyWentOnline”的实现吗?
  • protocol ChatDelegate { func buddyWentOnline(name: String) func buddyWentOffline(name: String) func didDisconnect() }
  • 12.After that implement the chat delegates methods:?
  • 12.是为 UITableViewController 编写的,但我在 AppDelegate 工作

标签: ios xmpp xmppframework


【解决方案1】:

我发现了我的错误。 我没有为初始 viewController 设置委托:

类 ViewController: UIViewController, ChatDelegate {

let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate

override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.

    appDelegate.delegate = self
}

【讨论】:

    猜你喜欢
    • 2015-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-12
    • 2019-12-29
    • 2023-03-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多