ios - 在 viewDisappear 之前等待 saveInBackground Parse

标签 ios objective-c parse-platform pfquery pfobject

我想在 View 消失之前等待 saveInBackground Parse 方法。因为下面的 View 正在使用这个数据,但是没有时间刷新...

这是我的代码:

-(void) viewWillDisappear:(BOOL)animated
{
    [super viewWillDisappear:animated];
    PFQuery *urlImage = [PFQuery queryWithClassName:@"urlImage"];
    [urlImage whereKey:@"objectId" equalTo:@"IcK6mFChL7"];
    [urlImage getFirstObjectInBackgroundWithBlock:^(PFObject *urlImageParse, NSError *error) {
        if (!error) {
            [urlImageParse setObject:self.photoURL.text forKey:@"URL"];
            [urlImageParse saveInBackground];
        } else {
            NSLog(@"Error: %@", error);
        }}];
}

我可以在 viewWillDisappear: 的其他地方制作这段代码吗?或者可以使用 MBProgressHUD

最佳答案

viewWillDisappear 是执行代码的地方,知道 View 即将消失。我相信您要做的是在 View 实际消失之前执行一些操作。
这部分就在这里 -> [urlImage getFirstObjectInBackgroundWithBlock:^ 意味着该 block 内的代码将在不同的线程上运行。所以你现在说的是,当 View 即将消失时,分离另一个线程并在后台保存一些东西,但继续做你需要做的任何事情,比如让这个 View 消失。这就是你告诉系统的。所以它继续,做它想做的事,而不关心保存那个对象的结果。
你的观点即将消失是有原因的。您的应用程序中发生了一些事情,系统认为它需要关闭此 View 并显示另一个 View 。可能是您点击了后退按钮,也可能是您单击了保存按钮,并且在该代码的末尾,您要求系统将此 View 从堆栈中弹出。我们真的不知道只有您发布的代码。不过,我们可以假设,无论采取什么措施使该 View 消失,您应该尝试保存该对象的位置,并且您可能应该在离开该 View 之前等待响应。如果下一个 View 依赖于该信息,那么关闭该 View 并显示下一个 View 是没有意义的,直到您获得该对象已保存的成功响应。但这只是一个假设,因为我不了解您的应用程序在做什么,或者在您尝试保存此数据时发生了什么,以及下一个 View 是什么样子。我会说,通常情况下,如果您需要保存这些东西,以便在您的应用程序中继续,您应该保存这些数据并等待响应,以向用户显示错误消息,或者如果成功,然后转到下一个屏幕。

关于ios - 在 viewDisappear 之前等待 saveInBackground Parse,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29231948/

相关文章:

ios - 将 Tapku 库添加到 iOS 项目 - 链接器错误

ios - 在 iPhone/iPad 上获取 ARP 表总是返回 nil MAC

javascript - Twitter API 1.1 无法对您进行身份验证 2

ios - WKWebView - iframe 内容未加载到模拟器/设备中

iphone - 无法检测 iPhone 上的纵向方向

objective-c - 如何在 LAPACK 中找到完整形式的 sgesv

ios - UITableview 始终加载所有单元格的最后一个对象

security - 带有 Parse.com 客户端 key 和应用程序 ID 的开源代码安全吗?

ios - 如何使父类(super class)属性为 "readonly"

ios - 提交证书申请时,iOS Provisioning Portal崩溃