gpt4 book ai didi

ios - 撤消/恢复对 PFObject 的本地更改

转载 作者:可可西里 更新时间:2023-11-01 05:44:08 25 4
gpt4 key购买 nike

假设我有一个正在编辑的 PFObject。在稍后阶段,我希望取消我对 PFObject 所做的更改。我如何恢复到 PFObject 的原始副本?

我尝试过的

    if (self.request.isDirty) {   // self.request is a PFObject
// Reload object
NSLog(@"%@", self.request.requestTitle); // Logs ABC, Original was DEF
[self.request refreshInBackgroundWithBlock:^(PFObject *object, NSError *error) {
if (!error) {
NSLog(@"%@", self.request.requestTitle); // Logs ABC
[self.requestDetailsTableView reloadData];
}
}];
}

我也试过获取对象,但结果相同

    if (self.request.isDirty) {   // self.request is a PFObject
// Reload object
NSLog(@"%@", self.request.requestTitle); // Logs ABC, Original was DEF
[self.request fetchInBackgroundWithBlock:^(PFObject *object, NSError *error) {
if (!error) {
NSLog(@"%@", self.request.requestTitle); // Logs ABC
[self.requestDetailsTableView reloadData];
}
}];
}

最佳答案

PFObject 上现在有一个 revert 方法,只要您还没有调用 save,它就会将您的对象重置回服务器状态:http://parseplatform.org/Parse-SDK-iOS-OSX/api/Classes/PFObject.html#/c:objc(cs)PFObject(im)revert

例如,我使用带有表单的推送 View Controller 来编辑我的 PFObject 子类的属性,并且我有两个用于取消和保存的按钮...

@IBAction override func cancelAction() {
self.myObject?.revert()
self.navigationController?.popViewControllerAnimated(true)
}

@IBAction override func saveAction() {
self.myObject?.saveInBackgroundWithBlock({ (succeeded: Bool, error: NSError?) -> Void in
if (succeeded) {
self.navigationController?.popViewControllerAnimated(true)
} else {
// Show error
}
})
}

关于ios - 撤消/恢复对 PFObject 的本地更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26576740/

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