【问题标题】:HttpClient setReachabilityStatusChangedBlock declares no interfaceHttpClient setReachabilityStatusChangedBlock 声明没有接口
【发布时间】:2013-06-27 03:51:57
【问题描述】:

尝试使用 AFNetworkings ReachabilityStatusChanged 但得到 ​​p>

“HTTPCLIENT 没有可见的@interface 声明选择器 setReachabilityStatusChangeBlock”

但是 HttpClient 有这个功能。有人知道为什么会这样吗?

AFHTTPClient *client = [[AFHTTPClient alloc] initWithBaseURL:[NSURL URLWithString:@"http://stat-api.herokuapp.com/"]];
[client setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status){

    NSLog(@"%d", status);

}];

/// 更新 ///////////

这是我的 .pch 文件

#ifdef __OBJC__
#import <UIKit/UIKit.h>
#import <Foundation/Foundation.h>
#import <CoreData/CoreData.h>
#import "NSDate+Helper.h"
#import "NSEntityDescription+RKAdditions.h"
#import "UIAlertView+MKBlockAdditions.h"
#import "UIActionSheet+MKBlockAdditions.h"
#import "MKBlockAdditions.h"
#import "NSObject+MKBlockAdditions.h"
#import "NSString+Extra.h"
#import "UIView+Additions.h"
#import "ObjectiveSugar.h"
#import "NSNotificationCenter+UniqueNotif.h"
#import "STUIColor+Custom.h"
#import "NSObject+STNSObjectAdditions.h"
#import "UIView+Gradientcy.h"
#import "NSString+USStateMap.h"
#import "STUITextField.h"
#import "UIImage+UIImageCrop.h"
#import "UIBorderLabel.h"
#import <SystemConfiguration/SystemConfiguration.h>



#endif

【问题讨论】:

  • 清理您的项目并根据需要删除 Xcode 派生数据。如果您已正确链接和导入 SystemConfiguration,则一切正常。

标签: ios objective-c afnetworking


【解决方案1】:

移动

#import <SystemConfiguration/SystemConfiguration.h>

就在这一行之后:

#ifdef __OBJC__

【讨论】:

  • 这是我的问题。我猜编译顺序在我的 .pch 文件中很重要,因为它是第 10 个导入的而不是第一个导入的会导致此错误。使它首先修复它。为了测试,我再次将它作为第 10 次导入,然后错误又回来了。
  • +1 我正在将 AFNetworking 与 RestKit 一起使用,现在我遇到了这个问题,我想把它放在 #import &lt;RestKit/RestKit.h&gt; 之前是有意义的。
【解决方案2】:

您确定您使用的是具有此方法的 AFNetworking 版本吗?

另外,请检查来自the docs 的警告:

警告:此方法需要SystemConfiguration 框架。

将它添加到活动目标的“Link Binary With Library”构建阶段,并将#import &lt;SystemConfiguration/SystemConfiguration.h&gt;添加到项目的标题前缀(Prefix.pch)。

【讨论】:

  • 当我点击 setReachabilityStatusChangeBlock 命令时,它会将我带到那个代码块。
  • 您确定您添加的SystemConfiguration 正确吗?因为这个方法在一个#ifdef _SYSTEMCONFIGURATION_H里面,所以如果没有导入这个方法就不会被编译。
猜你喜欢
  • 2015-11-05
  • 2014-01-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-23
  • 1970-01-01
  • 2011-09-15
  • 2019-07-16
相关资源
最近更新 更多