Добавить переменную к NSURL - PullRequest
0 голосов
/ 28 декабря 2011

Я пытаюсь сделать ссылку для телефонного звонка из номера телефона, поступающего из JSON. Это исключение, необработанное в этой строке:

 lblPhone.text = [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://" URLByAppendingPathComponent:phone]];

Что я делаю не так?

Ответы [ 3 ]

1 голос
/ 28 декабря 2011

Вы пытаетесь создать строку метки из действия, которое не возвращает строку.Текст строки не может быть установлен из результата действия попытки сделать телефонный звонок.

Чтобы создать метку, просто используйте номер телефона.

lblPhone.text = phone

Чтобы сделать вызов, вам нужно подключить действие, которое использует метку:

NSString *phoneNrUrl = [@"tel://" stringByAppendingString:lblPhone.text];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:phoneNrUrl]];

Вы можете сделать две вышеупомянутые строки одной строкой, но я предпочитаю удобочитаемость и позволить компилятору выполнять оптимизацию.

0 голосов
/ 28 декабря 2011

Может быть, openURL: возвращает BOOL, а lblPhone.text кажется более NSString.

Если это не причина, как насчет добавления сообщения об исключении в ваш вопрос?

0 голосов
/ 28 декабря 2011

Вы вызываете функцию +[NSURL URLWithString:URLByAppendingPathComponent:], которой не существует. Сначала необходимо создать URL-адрес из строки, а затем добавить компонент пути.

Нечто подобное:

[[UIApplication sharedApplication] openURL:[[NSURL URLWithString:@"tel://"] URLByAppendingPathComponent:phone]];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...