Ios PFObject SaveInBackgroundithBlock:带超时

Ios PFObject SaveInBackgroundithBlock:带超时,ios,objective-c,parse-platform,objective-c-blocks,Ios,Objective C,Parse Platform,Objective C Blocks,我使用PFObject在我的解析后端存储某些参数。其中一个参数是包含高达10MB视频文件的PFFile PFObject *myPFObject = [PFObject objetWithClassName:@"myObject"]; PFFile *myFile = [PFFile fileWithName:"myFile.mp4" data:mediaData]; [myPFObject setObject:myPFObject forValue:@"media"]; [myPFObj

我使用PFObject在我的解析后端存储某些参数。其中一个参数是包含高达10MB视频文件的PFFile

PFObject *myPFObject = [PFObject objetWithClassName:@"myObject"];
PFFile *myFile = [PFFile fileWithName:"myFile.mp4" data:mediaData];
[myPFObject setObject:myPFObject forValue:@"media"];   
[myPFObject saveInBackgroundWithBlock:^(BOOL succeeded, NSError *error) {
      //handle response
    }
对于良好的网络连接,SaveInBackgroundithBlock方法非常有效,但是如果网络连接速度较慢,则可能需要很长时间(超过60秒)才能保存此对象

我想知道执行此操作超时的最佳方法-即,如果超时时间超过15秒,我将取消该操作,并告诉用户使用更好的网络连接再次尝试保存。我知道我可以运行NSTimer来计算这个超时时间,但是如何终止saveInBackgroundWithBlock操作呢


或者,我们可以在任何地方为此解析方法设置特定的超时持续时间吗?

关于设置超时的方法,您应该在那里查看“解析人”解释为什么不可能:。因此,我认为一旦启动,就不可能取消请求,因为即使上传失败,parse也会自动进行多次尝试。我不确定它是否有效,但您可以在执行查询之前尝试设置NSTimer,并在查询响应后使计时器失效。如果允许启动计时器,这意味着查询在您选择的超时时间内没有响应,您可以更新UI以让用户知道。来源:您是否考虑过使用
savefinally
?这意味着当你可能有一个不良的连接。因此,如果这是一个良好的连接,它节省。如果不是,则parse sdk将在连接断开后处理并保存它good@ChrisParse Docs:“SaveFinally没有故障模式:它唯一的状态是“成功”和“尚未成功”。“此外,它的目的是在设备脱机时使用。OP的目标是在连接时间过长时取消工作连接。Parse会自动重试保存,因此NSTimer路由将是一个很好的资源。虽然,15秒可能不是一个可行的选择,但您可能会有一个大文件,它的上载时间恰好超过15秒,这不是因为网络,而是因为它是一个大文件。如果在收到响应之前将myPFObject设置为nil,会发生什么?这会安全地终止连接吗?