2009-04-20 2 views
1

Я использую табличный вид, в котором каждый продает определенный номер телефона рядом с кнопкой вызова при нажатии, на которое набирается номер ... Например, если у меня есть номер телефона в ячейке, как (425) 821-1300 я изменил его в стандартный формат 425-821-1300 по коду, как показано ниже, используя строку переменной phonenumberstringКак набрать номер, нажав кнопку вызова в приложении iphone?

phonenumberstring=[phonenumberstring substringFromIndex:1]; 
    phonenumberstring=[phonenumberstring stringByReplacingOccurrencesOfString:@")" withString:@"-"]; 

    m_strPhoneNumber = [NSString stringWithFormat:@"tel:%@", self.phonenumberstring]; 
//[[UIApplication sharedApplication] openURL:[NSURL URLWithString:m_strPhoneNumber]]; 
    NSURL *url = [[NSURL alloc] initWithString:m_strPhoneNumber];//1 
    [[UIApplication sharedApplication] openURL:url];//2 

вещь использует это, когда я отладки в комментировал линии 1 & 2 URL показан Нилл и вызов не

С уважением

Arun

ответ

2

Какова ценность m_strPhoneNumber и phonenumberstring в этой точке. Правильно ли установлена ​​строка phonenumberstring?

Чтобы удалить первый кронштейн, почему бы не использовать stringByReplacingOccurrencesOfString:@"(" со строкой: @ "" и т. Д., Казалось бы, менее хрупким. Infact, я бы предложил удалить все нечетные символы - даже дефисы.

Это, вероятно, избыточна, но попробовать что-то вроде:

m_strPhoneNumber = [NSMutableString stringWithString:@"tel:%@"]; 
NSArray *numberTokens = [phonenumberstring componentsSeparatedByCharactersInSet:[[NSCharacterSet decimalDigitCharacterSet] invertedSet]]; 
      for (NSString *token in numberTokens) { 
       m_strPhoneNumber = [m_strPhoneNumber stringByAppendingString:token]; 
      } 

В качестве небольшого стиля в сторону, я хотел бы предложить phoneNumberString более читаемым. Я бы также рекомендовал использовать больше переменных - оптимизатор удостоверится, что они не имеют никакого влияния, и это облегчит отладку.

+0

Hi Roger Спасибо за вашу помощь. Да, я получаю правильное значение номера телефона в соответствии с выбранной ячейкой. M_strPhoneNumber находится в формате @ "tel: 412-356-8900" .., но при отладке значение в URL-адресе nil ... Пожалуйста, помогите ... просто этот вопрос остается в моем приложении! С уважением Arun – Arun

+0

Кажется странным. Я добавил код, чтобы удалить все, кроме номеров, из вашей строки phonenumberstring - попробуйте это. –

+0

Привет, снова ... извините, что я не заметил код, который вы отправили. Я пробовал его ... но снова в NSURL * url значение url отображается «nill» при отладке этой части кода. и до тех пор, пока значение URL не укажет, как номер телефона выбрал вызов, который не будет инициирован ... помогите снова? спасибо действительно за ответы – Arun

Смежные вопросы