我有这段代码
//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作为字符串),并且< em> object [&#34; fromUserName&#34;] 是从我的查询返回的对象(上面未显示)。
一切正常,但我的查询有时会将多个对象[&#34; fromUserName&#34;] 返回到 saveStatusId。当发生这种情况时,我实际上希望将它添加到密钥中时替换 saveStatusId 的值。
所以希望它看起来像这样
("jKd98jDF" : {"Joe", "John"})
("ksd6fsFs" : {"Sarah"})
("payqw324" : {"Chris", "Sarah", "John"})
我知道你可以使用Arrays,但我不确定如何在目前的情况下让它工作。
所以我的问题是如何获取我的密钥( saveStatusId )来存储对象[&#34; fromUserName&#34;] 的多个值?
答案 0 :(得分:1)
这样的事情可以起作用
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]中有一个数组,则附加新值,否则创建一个数组并将其放在正确的插槽中