Ios 使用未声明的标识符-Xcode
我首先在SecondViewController.h文件中使用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)
@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我很高兴能帮助您。也许您愿意接受我的答案。