我正在构建一个聊天应用程序,我在其中以 json 格式从服务器获取所有消息。结果是:
{"success":"true","userid":"2","messages":[{"id":"1","senderid":"1","receiverid":"2","message":"Hey there!"},{"id":"2","senderid":"1","receiverid":"2","message":"How are you?"},{"id":"3","senderid":"1","receiverid":"2","message":"Hey "},{"id":"4","senderid":"1","receiverid":"2","message":"Hey"},{"id":"5","senderid":"1","receiverid":"2","message":"Yo!"},{"id":"6","senderid":"1","receiverid":"2","message":"Yo!"},{"id":"7","senderid":"1","receiverid":"2","message":"asd"},{"id":"8","senderid":"2","receiverid":"1","message":"Leave me alone!"}]}
我正在尝试接收每个项目的消息,并将其显示在表格 View 中。
我的 TableView 有一个 NSArray,目前什么都没有,但是当它调用 getMessages() 方法时,我想用所有消息填充数组。
这是我的代码:
var content: AnyObject! = jsonData.valueForKey("messages")
for message in content as [NSDictionary] {
if let m = message["message"] as? [NSString] {
listDataArray += m
}
}
但它抛出错误:
'NSArray!' is not identical to 'UInt8'
在线:
listDataArray += m
有什么办法解决这个问题吗?
请您参考如下方法:
你应该append到数组。+=运算符用于从数组添加元素
listDataArray.append(m)
如果它是NSArray 让它成为NSMutableArray
//Change where listDataArray declared
var listDataArray:NSMutableArray = NSMutableArray()
//addthe objects
listDataArray.addObject(m)
