gpt4 book ai didi

ios - 不兼容的 block 指针类型 - Objective-c

转载 作者:行者123 更新时间:2023-11-29 05:22:39 30 4
gpt4 key购买 nike

我想在主线程中使用 return 语句调用以下代码,但出现以下错误。

Incompatible block pointer types passing 'NSString *(^)(void)' to parameter of type 'dispatch_block_t _Nonnull' (aka 'void (^)(void)')

以下是我的代码。

NSString *hash = [AGMobileService accessTokenHashForDate:date withParameters:[NSArray new]];


+ (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];
});
}

+ (NSString *)computeHash:(NSString *)text usingHash:(NSString*)hashSalt {

NSString *textToEncode = [NSString stringWithFormat:@"%@%@", hashSalt, text];
NSData *data = [textToEncode dataUsingEncoding:NSUTF8StringEncoding];
unsigned char hash[CC_SHA256_DIGEST_LENGTH];
if ( CC_SHA256([data bytes], (int) [data length], hash) ) {
NSData *sha256 = [NSData dataWithBytes:hash length:CC_SHA256_DIGEST_LENGTH];
return [sha256 base64EncodedString];
}
return nil;
}

最佳答案

我也遇到过这样的事情,只是把dispatch block 中的返回码去掉了,但是不知道原因,所以我也想知道原因。

关于ios - 不兼容的 block 指针类型 - Objective-c,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58516440/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com