2012-07-15 3 views
1

J'ai cherché à travers toutes les questions et n'arrive pas à trouver ma réponse.Appelez le numéro de téléphone de UIButton

J'ai l'IBAction suivante. Cela plante chaque fois que vous appuyez sur le numéro de téléphone. Je suis retourné à la base de données et formaté les numéros de téléphone à 5551235555 au lieu de (555) -123-5555.

- (IBAction)callPhone:(UIButton *)sender{ 

    Bar *items = self.detailItem; 
    NSURL *pn = [NSURL URLWithString:[NSString stringWithFormat:@"tel:%@", items.barPhone]]; 
    [[UIApplication sharedApplication] openURL:pn]; 
} 

- (void)setCallButton:(UIButton *)callButton{ 

    Bar *items = self.detailItem; 
    [callButton setTitle:items.barPhone 
       forState:UIControlStateNormal]; 
} 

Tout code de guidage serait apprécié.

+0

Quelle est la trace de la pile? Et êtes-vous sûr que 'items.barPhone' n'est pas nul? – WrightsCS

+0

Oui, j'ai vérifié son affichage du nombre. Cela fonctionne aussi bien pour setTitle que j'ai ajouté ci-dessus. Cependant «pn» montre zéro. De toute évidence, pourquoi cela ne fonctionne pas, mais je ne sais pas pourquoi c'est nul. – user1454340

+0

Quel est le message d'erreur? – Selkie

Répondre

0

Bar *items = self.detailItem; n'est pas lancé, c'est pourquoi il retourne zéro. Effectuez les opérations suivantes:

Bar *items = [[Bar alloc] init]; 
items = self.detailItem; 

Ou ce que vous auriez dû faire est faire items un Ivar pour cette classe particulière. Ensuite, vous pouvez initier items une fois et l'utiliser dans votre classe.

+0

Il n'y a rien de mal avec les éléments, tout lit correctement là. Cette information est une Segue de TableView. Il semble y avoir quelque chose qui cloche avec la création de «pn». C'est nul mais 'items.barPhone' a la bonne valeur. – user1454340

+0

** pn ** est nul. Essayez ce que j'ai décrit ci-dessus. Si 'items.barPhone' n'était pas nul, pn ne serait pas nul. – WrightsCS

+0

'items.barPhone' n'est pas nul ou ne définirait pas correctement le titre du bouton. J'ai essayé votre code, en supposant que 'Bars 'est censé être' Bar'. Je reçois la même pause – user1454340