我想将nil添加到Array中,设置为answersBody。
var answersBody = [String]()
当answer_body为nil时,它会返回错误。你能告诉我如何解决这个问题吗?
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()
}
答案 0 :(得分:9)
使数组类型[String?]是可选字符串。它可以设置为零。常规字符串类型不能为零。
然后
if let body = answerBody{
self.answersBody.append(body)
}
else{
self.answersBody.append(nil)
}
让我们解开你的选择。如果它不是零,那么它将进入if;否则就会执行。
答案 1 :(得分:3)
您正尝试将nil值添加到不接受nil值的数组中。
试试这个:
对于数组初始化:
var answersBody = [String?]()
并且在附加值时,删除感叹号
self.answersBody.append(answer_body)
答案 2 :(得分:-1)
我使用了一个字符串选项数组,因为之前的两个答案已经建议并且对我不起作用,我使用它代替:
var arrayValues: [AnyObject?] = [nil,nil,nil,nil,nil]