我想根据从Redis
获得的缓存数据生成一个ParseObject
的列表。我在做什么:
function parseHashtagsResponse(cachedObjects) {
var hashtags = [];
for (const object of cachedObjects) {
const Hashtag = Parse.Object.extend("Hashtag");
const hashtag = new Hashtag();
for (var key in object) {
if (object.hasOwnProperty(key)) {
hashtag.set(key, object[key]);
}
}
hashtags.push(hashtag);
}
return hashtags;
}
cachedObjects
是一个字典数组,包含缓存的ParseObject
s
这是我在客户端上获取上述处理数据的方法:
PFCloud.callFunction(inBackground: "getHashtagsFunctionV3", withParameters: nil) { (response, error) in
if error == nil, let hashtagsArray = response as? [PFObject] {
self.hashtagsArray.append(contentsOf: hashtagsArray)
}
}
当我收到回复时,我得到的是:
表达式产生错误:错误:/var/folders/1h/vqb7yf6n14d52q7zdmgbx3lr0000gn/T/expr30-d84d97.swift:1:83:错误:"PFObject"不是"Parse"的成员类型斯威夫特_DebuggerSupport.stringForPrintObject(Swift.UnsafePointer<Swift.Array<Parse.PFObject>>(位模式:0x11e0e08f0(!。指针(
如果我打印返回数组的元素,我会得到:
<哈希标签:0x60000331d320,objectId:hLuDPG45CI,localId:(null(>{}
我缺少什么?
发现Parse.Object
类中有一个名为fromJSON
的静态函数。它的作用,正是我所需要的。。。它构建了一个基于JSON数据的CCD_ 7!
这是更新后的功能:
function parseResponse(cachedObjects, className) {
var hashtags = [];
for (var object of cachedObjects) {
object.className = className;
hashtags.push(Parse.Object.fromJSON(object));
}
return hashtags;
}