0

I'm trying to program a XMPP client. The connection to my server is OK, but when somebody in my Roster is online, the app is crashing because "buddyWentOnline" unexpectedly found nil?

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)")
        }
    }
}
Matak
  • 3
  • 3

1 Answers1

0

I found my mistake. I didn't set the delegate for the initial viewController:

class 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
}
Matak
  • 3
  • 3