我希望能够在iOS设备锁定时保存用户信息。我正在使用背景模式,但是saveInBackground似乎只能工作约5秒钟,然后它将停止保存。重新打开应用程序后,它将立即保存所有内容。有没有一种方法可以让他们在锁定时进行保存?
谢谢
最佳答案
**云代码(JS)**
Parse.Cloud.define("createSale", function(request, response) {
var SaleClass = Parse.Object.extend("Sale");
var sale = new SaleClass();
sale.set("contractorId", request.params.contractorId);
sale.set("subtotal", request.params.subtotal);
sale.save(null, {
success: function (sale) {
console.log(responseData);
response.success(responseData);
},
error: function (error) {
response.error(error);
console.log(error);
}
});
});
ParseCloudFunctions(Obj-C)共享实例
我创建了一个包含所有解析云代码功能的类。我创建了此类的共享实例,并有一个调用Parse Cloud Code的实例方法:
#import <Parse/Parse.h>
+ (ParseCloudFunctions *) sharedInstance {
static ParseCloudFunctions *sharedInstance;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
sharedInstance = [[ParseCloudFunctions alloc] init];
});
return sharedInstance;
}
- (void) createSaleWithParameters: (NSDictionary *) parameters block:(void (^)(id object, NSError *error)) block{
[PFCloud callFunctionInBackground:@"createSale" withParameters:parameters block:block];
}
每当您要调用解析云代码时,您只需执行以下操作:
NSDictionary *parameters = @{
@"contratorId":contractorId,
@"subtotal":subtotal,
};
[[ParseCloudFunctions sharedInstance] createSaleWithParameters:parameters block:^(id object, NSError *error) {
if(error){
//Handle Error
}
if(object){
//Do stuff
}
}];
保存是在服务器端进行的,因此您只需要一点时间来调用云代码,您会感觉很好。