我有一个解析类(名为“Story”),其中包含以下列:
contents - Array of Pointers to Media class
creator - User pointer
lastPosted - Date
title - String
users - array of pointers to User class
我正在尝试从像这样的“故事”类更新PFObject
storyObject.addUniqueObjectsFromArray(selectedFriends, forKey: "users")
storyObject.setObject(createStoryTextField.text, forKey: "title")
storyObject.saveInBackgroundWithBlock({ (succeed: Bool, error: NSError?) -> Void in
hud.hide(true)
})
在某些情况下,完成块需要很长时间才能完成。通过调试,我发现“内容”列中的对象越多,所需的时间就越长。但我甚至没有更新“内容”。代码中的所有值都不是nil。我也检查了那个。任何帮助,将不胜感激。感谢。
答案 0 :(得分:1)
这是潜在的预期行为。一般情况下,当你在后台线程上放置一些东西(比如saveInBackgroundWithBlock
几乎肯定在做)时,完成它比在主线程上调用它需要更长的时间。如果您需要快速返回并且不介意阻止用户界面,则可以使用save:
方法。
您可能还想查看同时发出的请求数量,因为这可能会降低每个请求的速度。
最后,如果您想比自己更多地自定义Parse的网络行为,您可以使用REST API并进行所有自己的网络呼叫(使用NSURLSession或第三方库,如AFNetworking。)