Objective c 为什么使用NSString作为URL会导致SIGABRT?

Objective c 为什么使用NSString作为URL会导致SIGABRT?,objective-c,Objective C,下面的方法导致代码中断,这是为什么?NSURL不能从NSString隐式转换的唯一性是什么 - (void)followLink { [[UIApplication sharedApplication]openURL:@"http://www.google.com"]; } 因为您正在将NSString传递给希望NSURL作为参数的方法。要解决问题,请从字符串创建url对象: - (void)followLink { [[UIApplication sharedApplicat

下面的方法导致代码中断,这是为什么?NSURL不能从NSString隐式转换的唯一性是什么

- (void)followLink
{
    [[UIApplication sharedApplication]openURL:@"http://www.google.com"];
}

因为您正在将
NSString
传递给希望
NSURL
作为参数的方法。要解决问题,请从字符串创建url对象:

- (void)followLink
{
    [[UIApplication sharedApplication]openURL:[NSURL URLWithString:@"http://www.google.com"]];
}

openURL:
等待一个
NSURL
对象,您给它一个
NSString

您试图编写的代码可能是:

- (void)followLink
{
   [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://www.google.com"]];
}

我得到-
类方法'+urlWithString:'未找到(返回类型默认为'id')
@SirYakalot,哎哟,对不起-方法名称中的字母大写错误请适当注意API文档和XCode给您的警告/错误。还有,你试过调试你的代码吗?是的,它字面上只是说SIGABRT。对于XCode在这一点上的调试能力,我们感到非常失望。