Obj-C 编码的 URL 字符串在我的方法中有效,但在 IBAction 中不起作用



我的应用程序需要将字符串转换为URL,我希望在按下按钮时加载URL。 编码的 URL 在我的方法中正确加载:

 NSString *urlString = [@"http://bit.ly/1m48xKC" stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
 NSURL *url = [NSURL URLWithString:urlString];
 [[UIApplication sharedApplication]openURL:url];

但是当我将最后一行移动到我的 IBAction 中时,如下所示:

 -(IBAction)textLink {
   [[UIApplication sharedApplicaton]openURL:url];
   }

编译器给我一个警告,指出 URL 是不兼容的指针,如果我一开始没有对 url 进行编码,我就会得到同样的错误。 所有变量都在我的 .h 中声明,并在我的 .m 中合成。

你们谁能解释我的错误?

谢谢

如果url是一个合成属性,那么你需要:

-(IBAction)textLink {
    [[UIApplication sharedApplicaton]openURL:self.url];
}

为了访问属性 getter 方法。

最新更新