当我用nil调用此方法时,应用程序崩溃,但我想知道如何使用nullable编写它.
CRASH
[KPTaxnoteApiSaveHandler saveEntryWithUuid:uuid completion:nil];
好
[KPTaxnoteApiSaveHandler saveEntryWithUuid:uuid completion:^(NSError *error) {}];
这是代码.
+ (void)saveEntryWithUuid:(Nsstring *)uuid completion:(void (^ __nullable)(NSError * _Nullable error))completion { NSLog(@"saveEntryWithUuid"); Entry *entry = [Entry MR_findFirstByAttribute:@"uuid" withValue:uuid]; NSDictionary *params = @{@"entry[uuid]":entry.uuid}; [KPTaxnoteApiSaveHandler postWithUrl:kApiUrlStringForEntry params:params completion:^(NSError *error) { if (!error) { [MagicalRecord saveWithBlock:^(NSManagedobjectContext *localContext) { Entry *entry = [Entry MR_findFirstByAttribute:@"uuid" withValue:uuid inContext:localContext]; entry.needSave = @NO; }]; } completion(error); }]; + (void)postWithUrl:(Nsstring *)urlStr params:(NSDictionary *)params completion:(nullable void (^)(NSError *_Nullable error))completion { AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; [manager POST:urlStr parameters:params success:^(AFHTTPRequestOperation *operation,id responSEObject) { completion(nil); } failure:^(AFHTTPRequestOperation *operation,NSError *error) { completion(error); }];