Ios 使用未声明的标识符-Xcode

Ios 使用未声明的标识符-Xcode,ios,objective-c,xcode,uiwebview,Ios,Objective C,Xcode,Uiwebview,我首先在SecondViewController.h文件中使用 @property (weak, nonatomic) IBOutlet UIWebView *webView; 然后在相应的.m文件中使用 @property (weak, nonatomic) IBOutlet UIWebView *webView; 然后,我创建了一个函数,使用一个字符串创建一个网页,用户可以将该字符串转换为参数。职能: void createWebpage(NSString *webString)

我首先在SecondViewController.h文件中使用

@property (weak, nonatomic) IBOutlet UIWebView *webView;  
然后在相应的.m文件中使用

@property (weak, nonatomic) IBOutlet UIWebView *webView;  
然后,我创建了一个函数,使用一个字符串创建一个网页,用户可以将该字符串转换为参数。职能:

void createWebpage(NSString *webString) {
NSURL *url = [NSURL URLWithString:webString];
NSURLRequest *requestUrl = [NSURLRequest requestWithURL:url];
[webView loadRequest:requestUrl];
}  
以及它的名字

- (void)viewDidLoad {

createWebpage(@"http://www.google.com");

[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
}  

但是,在函数的最后一行,
[webView loadRequest:requestUrl],webView产生错误“使用未声明的标识符'webView'。为什么会这样,我如何修复它?非常感谢所有帮助。

您正在声明一个对象中可用的属性。但是您正在声明一个简单的C方法:

void createWebpage(NSString *webString) {
NSURL *url = [NSURL URLWithString:webString];
NSURLRequest *requestUrl = [NSURLRequest requestWithURL:url];
[webView loadRequest:requestUrl];
}  
此方法将在“全局上下文”中执行,但不会在对象上执行。因此,您无法访问对象属性

相反,请使用以下方法:

- (void) createWebpage:(NSString *)webString {
    NSURL *url = [NSURL URLWithString:webString];
    NSURLRequest *requestUrl = [NSURLRequest requestWithURL:url];
    [self.webView loadRequest:requestUrl];
}
在访问属性时,必须使用
self
引用当前对象

然后可以调用此方法:

[self createWebpage:@"http://www.google.com"];

我真的建议您阅读以下内容:

void createWebpage
不是一个实例方法,因此无法从那里访问实例变量(例如
webView

您必须将该方法声明为:
-(void)createWebpage:(NSString*)webString
,并将其称为
[self-createWebpage:@”http://www.google.com"]

等待否决票…您不太熟悉基础知识-属性、实例方法等等…@Isaac'criteria'Akalanne我很高兴能帮助您。也许您愿意接受我的答案。