我有这段代码
//start of the loop
if let objects = objects as? [PFObject] {
for object in objects {
//saving the object
self.likerNames.setObject(object["fromUserName"]!, forKey: saveStatusId!)
}
}
likerNames 是之前声明的 NSMutableArray,saveStatusId 是我之前声明和保存的字符串(它只是一个 objectId 作为字符串),object[ “fromUserName”] 是从我的查询返回的对象(上面未显示)。
一切正常,但我的查询有时会返回多个对象["fromUserName"] 到同一个键,即saveStatusId。 当这种情况发生时当我真正希望将它添加到 key 时,我为那个 saveStatusId 设置的值被替换了。
所以希望它看起来像这样
("jKd98jDF" : {"Joe", "John"})
("ksd6fsFs" : {"Sarah"})
("payqw324" : {"Chris", "Sarah", "John"})
我知道您可以使用数组,但我不确定我将如何着手让它在我当前的情况下工作。
所以我的问题是如何让我的 key (saveStatusId) 存储多个 object["fromUserName"] 的值?
最佳答案
这样的东西可以工作
let key = saveStatusId!
let oldValue = self.likerNames.objectForKey( key ) as? [String]
let newValue = (oldValue ?? []) + [ object["fromUserName" ] ]
self.likerNames.setObject( newValue, forKey: key )
如果 likerNames 在 slot[saveStatusId] 中有一个数组,附加新值,否则创建一个数组并将其放入正确的槽中
关于swift - 使用数组在循环中将多个值保存到字典键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31576390/