为单个saveinBackgroundWithBlock插入的重复记录

时间:2016-01-09 09:43:34

标签: parse-platform

我有一个iOS应用程序,我开发并安装在几个iPad上进行测试。在测试期间,我在大约5个小时内完成了数千笔交易。当我分析存储在Parse的交易记录时,我发现有7个交易被插入到Parse类中两次。 下面你可以看到代码的SaveinBackgroundWithBlock部分。虽然每个要保存的记录都有一个saveinbackgroundwithBlock,但对于这7个案例,创建了2个记录。 有趣的是,对于重复记录,_updatedAt字段几乎相同但不完全相同。重复条目有336毫秒的差异。 objectIds也不同。

负责将记录插入Parse

的部分代码
//Enter Sales Record into Parse with Block
PFObject *saleObject = [PFObject objectWithClassName:@"sale"];
saleObject[@"tokenid"] = firstNameString;
saleObject[@"saleamount"] = @(optionsSingle.globalSaleAmount);
saleObject[@"saleUser"] = [[PFUser currentUser] username];
saleObject[@"status"] = @"S";
[saleObject saveInBackgroundWithBlock:^(BOOL succeeded, NSError *error) {
if (succeeded) {
// Record successfully sent to Parse
//Update Balance
PFQuery *queryBalance = [PFQuery queryWithClassName:@"balance"];
[queryBalance whereKey:@"tokenid" equalTo:anaTokenString];
[queryBalance getFirstObjectInBackgroundWithBlock:^(PFObject *objectBalance, NSError *error) {
    objectBalance[@"amount"] = @(updateBalanceAmount);
        [objectBalance saveInBackgroundWithBlock:^(BOOL succeeded, NSError *error) {
        if (succeeded) {
        // Record successfully sent to Parse
        //after sale transaction, successfully updated balance at Parse class
        [_activityInd stopAnimating];
        [self dismissViewControllerAnimated:YES completion:nil];
        } else {
            // Error
            }
    }];
}];

} else {
// Error management
}
}];

我注意到有两个类似的问题,但没有解决方案。 我怀疑这可能是一个需要详细检查的Parse后台线程问题

0 个答案:

没有答案