我想在主线程中使用return语句调用以下代码,但出现以下错误。
将'NSString *(^)(void)'传递给'dispatch_block_t _Nonnull'类型的参数(又名'void(^)(void)')
以下是我的代码。
+ (NSString *)accessTokenHashForDate:(NSDate *)date withParameters:(NSArray *)params{
dispatch_async(dispatch_get_main_queue(), ^{
NSString *accessToken = ((AppDelegate *)[[UIApplication sharedApplication] delegate]).loginProfile.accessToken;
NSString *paramsStr = [params componentsJoinedByString:@""];
NSString *hashStr = [NSString stringWithFormat:@"%@%@%@%@", [CommonUtil IMEI], [date agileHashFormattedString], (!paramsStr) ? @"" : paramsStr, accessToken];
return [AGMobileService computeHash:hashStr usingHash:HASH_SALT];
});
}
[我遇到过类似的事情,我只是删除了调度块中的返回码,但是我不知道原因。所以我也想知道原因。