如何在 RestKit v0.20.0 中设置 serviceUnavailableAlertEnabled

Posted

技术标签:

【中文标题】如何在 RestKit v0.20.0 中设置 serviceUnavailableAlertEnabled【英文标题】:How to set serviceUnavailableAlertEnabled in RestKit v0.20.0 【发布时间】:2013-01-05 10:38:55 【问题描述】:

在 v0.20.0 之前的 Restkit 版本中,它曾经非常简单,可以检查服务不可用性并显示适当的响应。

objectManager.client.serviceUnavailableAlertEnabled = YES;

我们如何在最新的 RestKit 中实现同样的效果?

【问题讨论】:

【参考方案1】:

我自己想出来的。

由于 RKClient 在最新的 RestKit 中不再存在,它已被 AFNetworking 的 AFHTTPClient 取代。 AFNetworking 中的可达性包装器使用起来非常简单。

首先将 SystemConfiguration.framework 添加到您的项目中。

然后将#import <SystemConfiguration/SystemConfiguration.h> 添加到您的.pch 文件中。

当网络可达性改变时,最后注册一个回调块。

[objectManager.HTTPClient setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) 
    if (status == AFNetworkReachabilityStatusNotReachable) 
        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"No network connection"
                                                        message:@"You must be connected to the internet to use this app."
                                                       delegate:nil
                                              cancelButtonTitle:@"OK"
                                              otherButtonTitles:nil];
        [alert show];
    
];

这也适用于在没有互联网连接的情况下启动应用程序。

【讨论】:

以防万一有人在使用 RestKit(包括 AFNetworking)实现此答案时偶然发现 "No visible @interface for HTTPCLIENT declares the selector setReachabilityStatusChangeBlock" 之类的错误:还要确保将 #import <SystemConfiguration/SystemConfiguration.h> 放在 #import <RestKit/RestKit.h> 之前,就像 @987654321 中所述@.

以上是关于如何在 RestKit v0.20.0 中设置 serviceUnavailableAlertEnabled的主要内容,如果未能解决你的问题,请参考以下文章

如何在 RESTkit 0.2 中设置缓存策略

当我拥有的唯一关系信息是 JSON 结构时,如何在 RestKit 中设置关系?

在 Xcode 中设置 RestKit

RESTKit 的问题,无法正确映射

如何从 RestKit 中的 JSON 数组进行映射 [重复]

如何在 s-s-rS 报告中设置动态轴单位?