如何将 nil 添加到数组中?
How to add nil into Array?
我想在Array中添加nil,设置为answersBody。
var answersBody = [String]()
当answer_body为nil时,它returns error.Could你告诉我如何解决这个问题?
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()
}
您正在尝试向不接受 nil 值的数组添加 nil 值。
试试这个:
对于数组初始化:
var answersBody = [String?]()
并且在附加值时,删除感叹号
self.answersBody.append(answer_body)
将数组类型设为 [String?] 可选字符串。它可以设置为零。常规 String 类型不能为 nil。
然后
if let body = answerBody{
self.answersBody.append(body)
}
else{
self.answersBody.append(nil)
}
let 将打开您的可选包装。如果不为nil,则进入if;否则 else 将执行。
我按照前面两个答案的建议使用了一个字符串可选数组,但对我不起作用,我改用这个:
var arrayValues: [AnyObject?] = [nil,nil,nil,nil,nil]
我想在Array中添加nil,设置为answersBody。
var answersBody = [String]()
当answer_body为nil时,它returns error.Could你告诉我如何解决这个问题?
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()
}
您正在尝试向不接受 nil 值的数组添加 nil 值。
试试这个:
对于数组初始化:
var answersBody = [String?]()
并且在附加值时,删除感叹号
self.answersBody.append(answer_body)
将数组类型设为 [String?] 可选字符串。它可以设置为零。常规 String 类型不能为 nil。
然后
if let body = answerBody{
self.answersBody.append(body)
}
else{
self.answersBody.append(nil)
}
let 将打开您的可选包装。如果不为nil,则进入if;否则 else 将执行。
我按照前面两个答案的建议使用了一个字符串可选数组,但对我不起作用,我改用这个:
var arrayValues: [AnyObject?] = [nil,nil,nil,nil,nil]