不兼容的块指针类型-Objective-c

问题描述 投票:0回答:1

我想在主线程中使用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];
    });
}
ios objective-c multithreading
1个回答
0
投票

[我遇到过类似的事情,我只是删除了调度块中的返回码,但是我不知道原因。所以我也想知道原因。

© www.soinside.com 2019 - 2024. All rights reserved.