gpt4 book ai didi

json - 快速将 NSArray 解包为 String

转载 作者:行者123 更新时间:2023-11-30 12:16:13 25 4
gpt4 key购买 nike

我想将一组用户解压为一个字符串。

例如,在我的应用程序中,有群聊,每次用户进入群聊时,他们的 uid 都会添加到成员列表中。我想将单个群聊中的所有成员作为应用程序中的字符串返回。

每个房间在代码中表示为以下数据对象

class Room: NSObject {

var owner: String?
var groupChatName: String?
var groupChatDescription: String?
var members: [NSArray]?

}

下面是我从数据库中检索每个房间的位置。

func fetchAllRooms(){
Database.database().reference().child("rooms").observe(.childAdded, with: {(snapshot) in

if let dictionary = snapshot.value as? [String: AnyObject] {
let room = Room()
room.setValuesForKeys(dictionary)

self.rooms.append(room)
print(snapshot)

print(room.members?.joined())
print(self.rooms.count)

DispatchQueue.main.async(execute: {
self.collectionView?.reloadData()
})
}

print("end of snap")

}, withCancel: nil)
}

print(room.members?.joined()) 是当前导致应用程序崩溃并抛出“NSInvalidArgumentException”的原因:

'-[__NSDictionaryI objectAtIndex:]: unrecognized selector sent to instance 0x60800146ab80'

我意识到这可能是我的数据的结构方式,所以这里看一下 json

"A632CA68-40D9-4F3A-B8C8-245457057443" : {
"groupChatDescription" : "Test Description",
"groupChatName" : "Test Name",
"members" : {
"WuqCAt4mM3h0P0X1m7hVZ7NQyLC2" : {
"username" : "Steve"
}
},
"owner" : "Steve"
},

非常感谢任何答案、建议和/或引用。

最佳答案

似乎您正在为类(class)设置字典。因此,首先您需要从字典中提取值并将其设置为您的 Room 模型类属性。之后尝试在数组上调用连接方法,然后它应该可以工作。

关于json - 快速将 NSArray 解包为 String,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45405402/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com