2015-08-14 20 views
0

我在Xcode 6.4上做了一些iOS應用程序,我使用Parse作爲後端,並且一切都很好,直到我嘗試添加解析獲得的消息從物體到凝視陣列。iOS和解析拋出異常:「意外發現無」

錯誤:

fatal error: unexpectedly found nil while unwrapping an Optional value 

的事情是我不知道什麼是零它談論,因爲我已經解開所有的值或者至少我是這麼認爲的,幫助?

代碼:

var mensajes:[String]! 

override func viewDidLoad() { 
    super.viewDidLoad() 

    // Do any additional setup after loading the view. 
    println("\(PFUser.currentUser()!.username!)") 
    menuLabel.text = "Bienvenido \(PFUser.currentUser()!.username!)" 
    /* 
    var query = PFQuery(className: "Alumnos") 

    query.whereKey("nombre", hasSuffix: "1") 

    query.findObjectsInBackgroundWithBlock { 
     (objects: [AnyObject]?, error: NSError?) -> Void in 
     if error == nil { 
      println("No error") 
      println("we have \(objects!.count)") 

      if let object = objects as? [PFObject] { 
       for obj in object { 
        println("\(obj.objectId) ----") 
        println(obj) 
        println(obj["nombre"] as! String + "*****") 
       } 
      } 
     } else { 

      println("a misterious error has appeared \(error!) \(error!.description)") 
     } 

    } */ 

    var avisosQuery = PFQuery(className: "Alumnos") 

    if let papa = PFUser.currentUser() { 
     avisosQuery.whereKey("userId", equalTo: papa) 

     avisosQuery.findObjectsInBackgroundWithBlock { 
      (alumnos: [AnyObject]?, error: NSError?) -> Void in 

      if error == nil { 

       println("No Error we have \(alumnos?.count) students") 

       var grupos: PFObject? = nil 

       if let obj = alumnos as? [PFObject] { 
        for alum in obj { 
         println(alum["nombre"]) 
         //println(alum["grupoId"]) 
         //println(alum) 
         grupos = alum["grupoId"] as? PFObject 
         println(grupos!) 


         var secondQuery = PFQuery(className: "Avisos") 

         secondQuery.whereKey("grupoId", equalTo: grupos!) 

         secondQuery.findObjectsInBackgroundWithBlock { 
          (avisos: [AnyObject]?, error: NSError?) -> Void in 

          if error == nil { 

           println("No error we are home free \(avisos?.count)") 

           if avisos?.count > 0 { 

            if let avisoArray = avisos as? [PFObject] { 
             for av in avisoArray { 
              println(av["texto"]!) 

              if let msg: AnyObject = av["texto"] { 

               println(msg) 
               self.mensajes.append(msg as! String) 

              } 
             } 
            } 
           } 
          } else { 

           println("something got busted, mate") 
          } 
         } 
        } 
       } 
      } else { 

       println("we screw something up") 
      } 
     } 
    } 

} 

而且我在使用Parse學習階段,那爲什麼這是在viewDidLoad中()我只是想一些事情。

+1

開始被刪除每個! (展開可選運算符),除非您確定它不是NIL。 –

回答

1
if let papa = PFUser.currentUser() 

The problem is in that line we are not get the userid so technically you are looking for a null value

權代碼:

let papa = PFUser.currentUser().objectId

試試吧

+0

這表示感謝。 –

相關問題