在创建一个companyObject以后
saveinbackground以后可以获取到这个object,然后在返回的block下再立刻把这个object save到某个user的company字段下,线程就直接崩溃了

简单的说就是save操作后再次save就崩溃了,有解决的办法吗

1、具体报错是什么?
2、代码是怎么写的?确定是在第一个save,succeeded内保存的吗?

没有报错,是成功以后直接崩溃,提示线程是AVUtil下的某个线程,代码如下

-(void)createCompanyWithCompanyName:(NSString*)comName comId:(NSString*)comId comIndust:(Industry*)indust comRole:(NSString*)role fromCity:(NSString*)city market:(Market*)market legalPerson:(NSString*)legalPersonName legalPersonImage:(UIImage )image creatorRealName:(NSString)realName creatorId:(UIImage*)creatorImage withBlock:(AVBooleanResultBlock)block
{
NSMutableArray* photoFiles=[NSMutableArray array];
NSError* theError;
NSArray* photos=@[image,creatorImage];

for(UIImage* photo in photos){
    AVFile* photoFile=[AVFile fileWithData:UIImageJPEGRepresentation(photo, 0.6)];
    [photoFile save:&theError];
    if(theError==nil){
        NSLog(@"上传照片成功");
        [photoFiles addObject:photoFile];
    }
}
if (theError==nil) {
    NSLog(@"成功以后的操作");

    AVUser * user=[AVUser currentUser];
    Company* company=[Company object];

    company.corporation=[photoFiles objectAtIndex:0];
    company.legalName=legalPersonName;
    company.comName=comName;
    company.comId=comId;
    company.comIndust=indust;
    company.marketRole=role;
    company.comCity=city;
    company.creator=user;
    if (market==nil) {
        company.market=[NSArray array];
    }
    else
    {
        company.market=@[market];
    }

    [company saveInBackgroundWithBlock:^(BOOL succeeded, NSError *error) {

        if (succeeded) {

            NSLog(@"创建公司成功");
            //更新用户数据

                [self updateUserInfoAfterCreatingCompanyWithUserRealName:realName userIDImage:[photoFiles objectAtIndex:1] company:company withBlock:^(BOOL succeeded, NSError *error) {

                    if (succeeded) {
                        block(YES,nil);
                    }
                    else
                    {
                        block(NO,error);
                    }

                }];
        }
        else
        {
            NSLog(@"创建公司失败");
            for (AVFile* uploadedPhoto in photoFiles) {
                [uploadedPhoto deleteInBackground];
            }
        }
    }];
}
}

-(void)updateUserInfoAfterCreatingCompanyWithUserRealName:(NSString*)realName userIDImage:(AVFile*)userIDImage company:(Company*)company withBlock:(AVBooleanResultBlock)block;
{

YSUser* user=(YSUser*)[AVUser currentUser];
user.name=realName;
user.company=company;
[user saveInBackgroundWithBlock:block];
}

两个操作都成功了,在数据库中都有显示,但是操作完成以后可以就奔溃了,无报错,是线程错误,奔溃显示之前的截图

1、将请求的 CURL 日志发出来看看:[AVOSCloud setAllLogsEnabled:YES];
2、设置一下断点,看看在哪一行代码崩溃的。

你好,如果能够提供一个最小化的能够复现该问题的 Demo 给我们就好了。我们无法从你提供的代码片段来复现这个问题,因为缺少 CompanyIndustry 等类的实现。从错误栈来看,这个错误好像不是你说的线程错误。