我希望能够在iOS设备锁定时保存用户信息。我使用后台模式,但saveInBackground似乎只能工作约5秒钟然后停止保存。当重新打开应用程序时,它会立即将它们全部保存。有没有办法让它们在被锁定时保存?
由于
答案 0 :(得分:1)
** Cloud Code(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 Functions的类。我创建了这个类的共享实例,并有一个调用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
}
}];
保存是在服务器端处理的,因此您只需要一点时间来调用云代码就可以了。