Skip to main content
 首页 » 操作系统

ios之数组!当我使用 NSString 时与 UInt8 不同

2024年01月01日50shanyou

我正在构建一个聊天应用程序,我在其中以 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)