4

客観的な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);
...
}

.mi では、Login の宣言に関する警告を取得し、'Login:' の実装で競合するパラメーター タイプを登録します: ' _strong id' vs ' _strong Callback' (別名 'void (^ _strong)(RESTResponse * _strong)')

コードはコンパイルして動作しますが、ここで教訓を学ぼうとしています。助けていただければ幸いです。

4

2 に答える 2

17

.hファイルにタイプがないようです。

@interface AquaUser : NSObject

....

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


@end

編集:

ちなみに、Objective Cでは、メソッドを小文字で始めるのが最善です。大したことではありませんが、それは一般的な方法です。

于 2013-02-20T22:31:50.180 に答える