Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 苹果';3G连接的可达性工作?_Iphone_Objective C_Ipad_Reachability - Fatal编程技术网

Iphone 苹果';3G连接的可达性工作?

Iphone 苹果';3G连接的可达性工作?,iphone,objective-c,ipad,reachability,Iphone,Objective C,Ipad,Reachability,我正在开发一款iPad应用程序,我正试图找出决定用户是否可以连接到互联网的最佳方法。如果用户没有连接,我将加载缓存数据,否则我将加载新数据。我正在尝试使用Apple的可达性类来实现这一点,我想看看我是否正确地做到了这一点。在ApplicationIDFinishLaunchingWithOptions中,我执行以下操作: [[NSNotificationCenter defaultCenter] addObserver: self selector: @selector(reachability

我正在开发一款iPad应用程序,我正试图找出决定用户是否可以连接到互联网的最佳方法。如果用户没有连接,我将加载缓存数据,否则我将加载新数据。我正在尝试使用Apple的可达性类来实现这一点,我想看看我是否正确地做到了这一点。在ApplicationIDFinishLaunchingWithOptions中,我执行以下操作:

[[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高级项目”一书中找到一个很棒的章节,标题是“在你成功之前假装它:提高界面响应能力的技巧和窍门”