我正在尝试使用来自JSON的电话号码拨打电话,但是在这一行上抛出一个未被捕获的例外:
lblPhone.text = [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://" URLByAppendingPathComponent:phone]];
我做错了什么?
答案 0 :(得分:1)
您正在尝试从不返回字符串的操作中创建标签的字符串。无法根据尝试拨打电话的操作结果设置字符串的文本。
要创建标签,只需使用电话号码。
lblPhone.text = phone
要进行通话,您需要挂钩使用标签的操作:
NSString *phoneNrUrl = [@"tel://" stringByAppendingString:lblPhone.text];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:phoneNrUrl]];
您可以将上述两行作为一行,但我更喜欢可读性并让编译器进行优化。
答案 1 :(得分:0)
您正在调用不存在的函数+[NSURL URLWithString:URLByAppendingPathComponent:]
。您希望首先从字符串创建URL,然后添加路径组件。
更像这样:
[[UIApplication sharedApplication] openURL:[[NSURL URLWithString:@"tel://"] URLByAppendingPathComponent:phone]];
答案 2 :(得分:0)
可能openURL:
返回BOOL
而lblPhone.text
似乎更多为NSString
。
如果这不是原因,那么将异常消息添加到您的问题呢?