Iphone 使用NSAlerts和NSNotifications的可达性2.2

Iphone 使用NSAlerts和NSNotifications的可达性2.2,iphone,objective-c,ios,nsnotifications,reachability,Iphone,Objective C,Ios,Nsnotifications,Reachability,我已经在一个新的iOS 4.2项目中实现了Apple的可达性2.2类。我只想在设备失去网络连接时显示警报视图。(因此符合应用商店的界面可用性要求。)我把它作为我的出发点。应用程序似乎正确地发出了通知(当连接被中断或恢复时),但我的NS警报视图出现了循环。我想我的错误一定有点基本,但我没能抓住它。如果没有NS AlertView,有一种更干净的方法可以做到这一点,我也愿意这样做。我在下面的代码中遗漏了一些方法,但是这个应用程序非常简单,只有一个ViewController ViewControll

我已经在一个新的iOS 4.2项目中实现了Apple的可达性2.2类。我只想在设备失去网络连接时显示警报视图。(因此符合应用商店的界面可用性要求。)我把它作为我的出发点。应用程序似乎正确地发出了通知(当连接被中断或恢复时),但我的NS警报视图出现了循环。我想我的错误一定有点基本,但我没能抓住它。如果没有NS AlertView,有一种更干净的方法可以做到这一点,我也愿意这样做。我在下面的代码中遗漏了一些方法,但是这个应用程序非常简单,只有一个ViewController

ViewController.h:

#import <UIKit/UIKit.h>
#import "Reachability.h"

@class Reachability;

@interface ViewController : UIViewController   {

IBOutlet UITextView *liveOutputTextView;
IBOutlet UITextView *textView;
Reachability* internetReachable;
    Reachability* hostReachable;

}

-(IBAction)action1:(id)sender;
-(IBAction)action2:(id)sender;

-(void)textFieldDidUpdate:(id)sender;
-(void)checkNetworkStatus:(NSNotification *)notice;

@end

请记住,在发送和处理通知后,需要从通知中心删除该通知。否则,当您的可达性状态发生变化时,您将收到警报

例如,要删除通知,可以执行以下操作:

[[NSNotificationCenter defaultCenter] removeObserver:self
 name:kReachabilityChangedNotification 
 object:nil];

如果需要,请记住以后再添加。

请记住,在发送和处理通知后,需要从通知中心删除该通知。否则,当您的可达性状态发生变化时,您将收到警报

例如,要删除通知,可以执行以下操作:

[[NSNotificationCenter defaultCenter] removeObserver:self
 name:kReachabilityChangedNotification 
 object:nil];

如果需要,请记住以后再添加它。

添加通知视图已经出现,足以处理响应。如果您添加了更多次,则多次调用的回拨。

添加通知视图确实出现,足以处理响应。如果您添加了更多的次数,则回拨次数会增加。

谢谢。我已[[NSNotificationCenter defaultCenter]移除观察者:self];在我的-(无效)视图中。。。是不是放错地方了?谢谢。我已[[NSNotificationCenter defaultCenter]移除观察者:self];在我的-(无效)视图中。。。它在错误的位置吗?