【问题标题】:Swift - PFObject return itself from save calback instead of boolSwift - PFObject 从保存回调而不是布尔返回自身
【发布时间】:2021-06-12 05:29:26
【问题描述】:

只是想知道我是否可以在后台保存解析 PFObject 并在回调中返回它而不是 Bool

parseObject.saveInBackground {
                  (success: Bool, error: Error?) in
                  if (success) {
                    completion(.success(true))
                  } else {
                    let error = NSError(domain: "OURTEAM", code: 0, userInfo: [NSLocalizedDescriptionKey: "Save invoice failure"])
                    completion(.failure(error))
                  }
                }

还是我需要再从远程重新获取一次对象?

【问题讨论】:

  • 是的。这是你的代码。如果愿意,您可以将传递给completionResult 声明为Result<PFObject,Error>
  • @Paulw11 感谢 cmets 但 saveInBackground 有这个定义:typedef void (^PFBooleanResultBlock)(BOOL succeeded, NSError *_Nullable error);
  • 你没有改变 saveInBackground - 你正在改变 completion 的签名 - 大概是传递给调用 saveInBackground 的函数,所以 completion(.success(parseObject))
  • 哦,你的意思是我刚刚在后台保存的实例对象,这就是我要找的吗?

标签: ios swift parse-platform back4app pfobject


【解决方案1】:

当您已经拥有更新的实例时,我不明白为什么需要在回调中包含该对象。

例如,您保存的 parseObject 是回调完成后更新的实例,因此只需引用它即可。

您将看到在保存完成后,您之前在内存中的 parseObject 现在已被分配了一个对象(假设您创建了一个新对象并保存了)

【讨论】:

    猜你喜欢
    • 2017-04-22
    • 2020-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-26
    相关资源
    最近更新 更多