gpt4 book ai didi

objective-c - 'Login:' : '__strong id' vs '__strong Callback' (aka 'void (^__strong)(RESTResponse *__strong)' ) 实现中的参数类型冲突

转载 作者:搜寻专家 更新时间:2023-10-30 19:51:10 25 4
gpt4 key购买 nike

对 Objective-C 很陌生,无法弄清楚我错过了什么。

.h文件

#import <Foundation/Foundation.h>
#import "RESTResponse.h"
typedef void (^Callback)(RESTResponse*);

@interface AquaUser : NSObject

....

-(void)Login:Callback;
-(void)Register:Callback;


@end

.m 文件

-(void)Login:(Callback) handler
{
...
RESTResponse *result = [RESTResponse new];
result.sucesss = true ;
result.response = @"Login succesfull";
handler(result);
...
}

在 .m 中,我收到有关登录和注册声明的警告 “登录:”实现中的参数类型冲突:“_strong id”与“_strong Callback”(又名“void (^_strong)(RESTResponse *_strong)” )

虽然代码可以编译和工作,但我还是想在这里吸取教训。帮助赞赏。

最佳答案

看起来您缺少 .h 文件中的类型。

@interface AquaUser : NSObject

....

-(void)Login:(Callback)handler;
-(void)Register:(Callback)handler;


@end

编辑:

请注意,在 objective-c 中,最好让您的方法以小写字符开头。没什么大不了的,但这是常见的做法。

关于objective-c - 'Login:' : '__strong id' vs '__strong Callback' (aka 'void (^__strong)(RESTResponse *__strong)' ) 实现中的参数类型冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14991162/

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