gpt4 book ai didi

ios - 可达性没有可见的@interface 声明选择器 startNotifier

转载 作者:行者123 更新时间:2023-11-28 22:36:01 25 4
gpt4 key购买 nike

我得到这个错误:可达性没有可见的@interface 声明选择器 startNotifier

我已经包含了 Reachability.h 和 .m 文件。我对 Objective-C 非常陌生,错误可能真的很小!但任何帮助都会很棒!

我的 helloworldViewController.m

#import "helloworldViewController.h"
#import "Reachability.h"
#import <SystemConfiguration/SystemConfiguration.h>


@interface helloworldViewController ()

@end

@implementation helloworldViewController
@synthesize networkstatus;
@synthesize reach;



#pragma mark Reachability changed


- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
// Check network
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(reachabilityChanged:) name:kReachabilityChangedNotification object:nil];
self.reach = [Reachability reachabilityWithHostName:@"www.apple.com"];
[self.reach startNotifer];

}

- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}

- (void)reachabilityChanged:(NSNotification*)note
{
Reachability* r = [note object];
NetworkStatus ns = r.currentReachabilityStatus;

if (ns == NotReachable)
{
NSString* msg = @"Network problems have rendered the iTunes store inaccessible; please try again later.";
UIAlertView* av = [[UIAlertView alloc] initWithTitle:nil
message:msg
delegate:self
cancelButtonTitle:@"Ok"
otherButtonTitles:nil];
[av show];
//[av release];
}
}


@end

这是我的 helloworldViewController.h

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

@interface helloworldViewController : UIViewController{


Reachability* reach;
IBOutlet UILabel *networkstatus;

}
@property(strong,nonatomic) UILabel *networkstatus;
@property (nonatomic, retain) Reachability* reach;

@end

最佳答案

您拼错了方法。更改此行:

[self.reach startNotifer];

到:

[self.reach startNotifier];

由于你是新手,这里还有一些建议:

  • 将.h文件中的#import "Reachability.h"替换为@class Reachability
  • 去掉显式的ivars 和显式的@synthesize 行。让编译器为您生成这些。这假设您使用的是最新的编译器/Xcode。
  • 您的属性不一致。一个是strong,另一个是retain。如果您使用的是 ARC,请对两者都使用 strong。如果您正在使用 MRC,请为两者使用 retain
  • 标准惯例是类名以大写字母开头,方法和变量以小写字母开头。两者都应该使用 CamelCase。将您的类更改为 HelloWorldViewController。将 networkstatus 更改为 networkStatus

关于ios - 可达性没有可见的@interface 声明选择器 startNotifier,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16003457/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com