0

我在 Ah 文件中有一个 typedef,我在 Bh 中导入了使用相同 typedef 的 Ah 文件。

在最长的时间内一切正常,但现在它抱怨它无法识别 typedef 并在 xcode 中给出“预期类型”错误,即使 xcode 在第二个文件中突出显示 typedef,这意味着它知道它们是在其他地方定义的在哪里。

如果我手动重新定义该 typedef 那么错误就会消失。但我收到警告说我正在重新定义 typedef 并且它是 C11 功能。

我尝试删除派生数据,但错误仍然存​​在。看起来 xcode 正在尝试在插入导入文件之前查找 typedef。有什么线索吗?我正在使用 xcode 4.6

//WebService.h
#import <Foundation/Foundation.h>
#import "AppDelegate.h"

@interface WebService : NSObject


typedef void(^loginUserWithUserNameandPaswordCompletion)(NSDictionary *, NSError*);

+(void)createUserWithName:(NSString*)name
                 andEmail:(NSString*)email
              andPassword:(NSString*)password
             onCompletion:(loginUserWithUserNameandPaswordCompletion) complete;
@end

//DataCenter.h
#import <Foundation/Foundation.h>
#import "WebService.h"
#import "AppDelegate.h"

typedef void(^loginUserWithUserNameandPaswordCompletion)(NSDictionary *, NSError*);
@interface DataCenter : NSObject

+(void) logInUserWithEmail:(NSString*) email
               andPassword:(NSString*)password
              onCompletion:(loginUserWithUserNameandPaswordCompletion)complete;

@end
4

2 回答 2

2

尝试将 typedef 放在您的@interfacein之前WebService.h

于 2013-04-21T08:35:05.103 回答
0

使用了 gberginc 提到的 @class

于 2013-05-24T04:57:23.017 回答