Đối mặt với một vấn đề trong việc truyền lại lỗi trong cuộc gọi đa chức năng.NSError ** phát hành lại vấn đề trong đa chức năng gọi
Ví dụ,
NSError *error = nil;
EMSPlanFolder *planner = [[EMSPlanFolder sharedPlanBuilder] buildPlanFromParsePlan:plan withError:&error];
if (error) {
//error
}
Tiếp theo, nó đi vào hoạt động:
- (EMSPlanFolder*)buildPlanFromParsePlan:(EMParsedPlan*)parsedPlan withError:(NSError *__autoreleasing*)err
{
....
....
[self deserializePlan:parsedPlan forPlan:newPlanFolder allowingNoEndDate:NO withError:err];
if(err && *err) {
[newPlanFolder.managedObjectContext performBlockAndWait:^{
[EMSPlanFolder deletePlan:newPlanFolder];
}];
return nil;
}
return newPlanFolder;
}
Tiếp theo, nó đi vào:
- (void)deserializePlan:(NSArray*)planElements forPlan:(LMSPlanFolder*)planFolder allowingNoEndDate:(BOOL)allowNoEndDate withError:(NSError *__autoreleasing*)err {
....
....
if(err) {
*err = [NSError errorWithDomain:@"Application" code:-1 userInfo:@{ NSLocalizedDescriptionKey:[NSString stringWithFormat:@"Plan was not found."]}];
}
return;
}
Vấn đề là, nó dẫn đến sụp đổ khi nó trở lại tuyên truyền cho đoạn mã đầu tiên. Mọi góp ý về nó
Bạn có thể hiển thị mô tả sự cố và theo dõi ngăn xếp của nó không? –
Bạn có thể thêm chi tiết tai nạn mà bạn đang nhận được trên chức năng trên? \ – CodeChanger
Xin lỗi không có mô tả vụ tai nạn được ghi lại, tôi chỉ nhận được một thông báo nói "exc_bad_access code = exc_i386_gpflt" – iNeo