因未捕获的异常'NSInvalidArgumentException'而终止应用程序,原因: - [__ NSCFString scheme]:无法识别的选择器发送到实例

时间:2015-10-08 11:15:22

标签: ios objective-c

我想在iPhone默认浏览器中打开一个网址,我这样做了。实际上,代码应该根据tableview中选定的项目从对象获取url

BlogPost *blogPost = [self.blogPosts objectAtIndex:indexPath.row];
UIApplication *application = [UIApplication sharedApplication];
[application openURL:blogPost.url];

当我运行应用程序时,我收到错误

  

由于未捕获的异常而终止应用   'NSInvalidArgumentException',原因:' - [__ NSCFString scheme]:   无法识别的选择器发送到实例0x7febb263ba30'

然后我设置了一个Exception断点,应用程序在显示错误的第三行代码崩溃。 我该怎么办?

1 个答案:

答案 0 :(得分:2)

试试这个

[application openURL:[NSURL URLWithString:@"http://www.google.com"]];

确保

blogPost.url 是NSUrl

注意:如果 blogPost.url 是NSString类型

[application openURL:[NSURL URLWithString:blogPost.url]];

崩溃报告清楚地表明您尝试传递 NSString 类型值,而不是传递 NSUrl 类型值。这是参数 blogPost.url

的类型不匹配
相关问题