Objective-C:导入头文件时为什么会出现编译错误?

Coo*_*coa 0 iphone cocoa cocoa-touch objective-c

我很好奇是什么原因导致编译器错误只是导入头文件.如果我评论它,一切都编译得很好 - 我试图导入到我的一个UIViewController中的类的头/实现得到了传递编译器而没有任何警告.但是,只要我加入它,我就会遇到很多错误.

我正在尝试在我自己的代码中使用Apple的Reachability应用程序,并执行以下操作:

#import "Reachability.h"
Run Code Online (Sandbox Code Playgroud)

我得到了很多:

error: syntax error before 'target'
error: syntax error before 'SCNetworkReachabilityFlags'
error: syntax error before 'SCNetworkReachabilityRef'
error: syntax error before 'SCNetworkReachabilityRef'
fatal error: method definition not in @implementation context
Run Code Online (Sandbox Code Playgroud)

它主要是抱怨:

static void ReachabilityCallback(SCNetworkReachabilityRef target,       SCNetworkReachabilityFlags flags, void *info);
- (BOOL)isNetworkAvailableFlags:(SCNetworkReachabilityFlags *)outFlags;
- (SCNetworkReachabilityRef)reachabilityRefForHostName:(NSString *)hostName;
- (CFRunLoopRef)startListeningForReachabilityChanges:(SCNetworkReachabilityRef)reachability onRunLoop:(CFRunLoopRef)runLoop;
Run Code Online (Sandbox Code Playgroud)

知道为什么只有在我尝试导入头文件时才会发生这种情况吗?

Nil*_*ect 10

听起来你可能需要

#import <SystemConfiguration/SystemConfiguration.h>
Run Code Online (Sandbox Code Playgroud)