我正在使用 swift 开发应用程序,我正在通过链接 https://docs.cometchat.com/ios-sdk/quick-start/ 集成 cometchat .所以我从服务器获取聊天记录。
现在我从服务器获得了两个(发送者消息和接收者消息)nsmutablearray 值。
即 var firstArr = response!["history"]!作为! NSMutableArray
var secondArr = response!["history"]! as! NSMutableArray
我合并了两个 nsmuatblearray 值,得到的结果是:
[
{
from = 1;
id = 68;
localmessageid = "46A9A5E5-FEEC-4588-B7D6-18E88BA68393_2";
message = "ckeck messages";
"message_type" = 10;
old = 1;
self = 1;
sent = 1521185409000;
},
{
from = 2;
id = 69;
localmessageid = "46A9A5E5-FEEC-4588-B7D6-18E88BA68393_1";
message = "sent to thiyakarajan";
"message_type" = 10;
old = 1;
self = 1;
sent = 1521185410000;
}
]
在响应中发送的键值被称为时间戳。
使用发送的键(时间戳)帮助我对数组进行升序排序 订单。
还有我在 TableView 中加载消息值。
谢谢
最佳答案
您可以使用 [[yourarray objectAtIndex:indexPath.row]objectForKey:@"message"]
等代码访问 TableView 的 cellforrowatindexpath
方法中的数组。通过使用这一行,您可以在 indexPath 0 处访问数组消息的值。另外,根据时间戳对数组进行排序,请引用以下代码:
NSSortDescriptor* sortOrder = [NSSortDescriptor sortDescriptorWithKey: @"sent" ascending: YES];
return [myArray sortedArrayUsingDescriptors: [NSArray arrayWithObject: sortOrder]];
我们在 ReadyUI 代码中使用了相同的方法。如果您需要其他帮助,请引用我们的 ReadyUI 源代码并发送电子邮件至 support@cometchat.com。
关于ios - 如何使用 swift 从 [Any] 访问 key ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49315793/