2015-07-21 58 views
2

我想將nil添加到Array中,設置爲answersBody。如何在數組中添加nil?

var answersBody = [String]() 

當answer_body爲零時,它返回錯誤。您能告訴我如何解決問題嗎?

Alamofire.request(.GET, "http://localhost:3000/api/v1/questions/index",parameters: nil, encoding: .JSON) 
     .responseJSON { (request, response, data, error) in 
      var jsonObj = JSON(data!) 
      var questions_count = jsonObj["questions"].count 

      for var index = 0; index < questions_count; index++ { 
       let answer_body = jsonObj["questions"][index]["answers"]["body"].string 
       self.answersBody.append(answer_body!) 
      } 
      self.tableView.reloadData() 
    } 

回答

7

製作arr ay類型[String?],它是可選的字符串。它可以設置爲零。常規字符串類型不能爲零。

然後

if let body = answerBody{ 
    self.answersBody.append(body) 
} 
else{ 
    self.answersBody.append(nil) 
} 

讓利將解開你的選購。如果不是零,那麼它會進入if;否則將執行。

3

您試圖向不接受nil值的數組添加nil值。

試試這個:

對於數組初始化:

var answersBody = [String?]()

和追加的值時,刪除感嘆號

self.answersBody.append(answer_body) 

閱讀:https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/OptionalChaining.html

+0

THX您的幫助!但是,它仍然會返回錯誤。我決定使用條件判斷如下。 if answer_body!= nil { ~~~ } else { } – lalala

-1

我使用的字符串自選數組作爲前兩個答案,建議和對我沒有工作,我用這個來代替:

var arrayValues: [AnyObject?] = [nil,nil,nil,nil,nil]