マルチファンクションコールでエラーのバックプロパゲーションの問題が発生しました。例えばNSError **マルチファンクションコールで問題が戻されました。
、
NSError *error = nil;
EMSPlanFolder *planner = [[EMSPlanFolder sharedPlanBuilder] buildPlanFromParsePlan:plan withError:&error];
if (error) {
//error
}
次に、それが機能するために行く:
- (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;
}
次に、に行く:
- (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;
}
問題は、それがときにクラッシュにつながる、ありますバックは最初のコードスニペットに伝播します。それ
クラッシュの説明とスタックトレースを表示できますか? –
上記の機能に遭遇しているクラッシュの詳細を追加できますか?\ – CodeChanger
クラッシュの説明は記録されません。「exc_bad_access code = exc_i386_gpflt」というメッセージが表示されます。 – iNeo