Iphone 苹果';3G连接的可达性工作?
我正在开发一款iPad应用程序,我正试图找出决定用户是否可以连接到互联网的最佳方法。如果用户没有连接,我将加载缓存数据,否则我将加载新数据。我正在尝试使用Apple的可达性类来实现这一点,我想看看我是否正确地做到了这一点。在ApplicationIDFinishLaunchingWithOptions中,我执行以下操作:Iphone 苹果';3G连接的可达性工作?,iphone,objective-c,ipad,reachability,Iphone,Objective C,Ipad,Reachability,我正在开发一款iPad应用程序,我正试图找出决定用户是否可以连接到互联网的最佳方法。如果用户没有连接,我将加载缓存数据,否则我将加载新数据。我正在尝试使用Apple的可达性类来实现这一点,我想看看我是否正确地做到了这一点。在ApplicationIDFinishLaunchingWithOptions中,我执行以下操作: [[NSNotificationCenter defaultCenter] addObserver: self selector: @selector(reachability
[[NSNotificationCenter defaultCenter] addObserver: self selector: @selector(reachabilityChanged:) name: kReachabilityChangedNotification object: nil];
Reachability hostReach = [[Reachability reachabilityWithHostName: @"www.apple.com"] retain];
[hostReach startNotifer];
然后我的可达性改变:看起来像这样:
- (void)reachabilityChanged:(NSNotification* )note {
Reachability *curReach = [note object];
self.internetConnectionStatus = [curReach currentReachabilityStatus];
if (internetConnectionStatus == NotReachable) {
[viewController getDataOffline];
} else {
if (![[NSUserDefaults standardUserDefaults] objectForKey:kFIRST_LAUNCH]) [viewController getCurrentLocation];
else [viewController getData];
}
}
现在,这对于WiFi iPad来说非常有效。我只是想确保这将适用于3G iPad。你能告诉我我做的是否正确吗?是的,可达性类会告诉你是否可以使用任何网络方法到达它。是的,可达性类会告诉你是否可以使用任何网络方法到达它。是的,可访问性类可以使用WiFi和3G来确定远程主机是否可访问
作为一个旁注,您可能需要考虑始终在应用程序启动时显示缓存数据,然后异步更新到后台的新数据。根据应用程序的上下文,这可以创建更好的用户体验,因为某些数据总是可用的
如果您有兴趣了解更多信息,可以在“iPhone Advanced Projects”一书中找到一个奇妙的章节,标题为“在成功之前假装:提高界面响应性的技巧和窍门”。是的,可访问性类可以使用WiFi和3G来确定远程主机是否可访问
作为一个旁注,您可能需要考虑始终在应用程序启动时显示缓存数据,然后异步更新到后台的新数据。根据应用程序的上下文,这可以创建更好的用户体验,因为某些数据总是可用的
如果你有兴趣了解更多这方面的内容,可以在“iPhone高级项目”一书中找到一个很棒的章节,标题是“在你成功之前假装它:提高界面响应能力的技巧和窍门”