2012-07-15 4 views
1

나는 모든 질문을 통해 검색 한 결과 내 답을 찾지 못하는 것 같습니다.UIButton에서 전화 걸기 전화 번호 :

다음 IBAction이 있습니다. 전화 번호를 누를 때마다 충돌이 발생합니다. DB로 돌아가 전화 번호를 (555) -123-5555 대신 5551235555로 포맷했습니다.

- (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]; 
} 

모든 코드 지침이 유용 할 것입니다.

+0

스택 추적이란 무엇입니까? 그리고'items.barPhone'이 nil이 아니라고 확신합니까? – WrightsCS

+0

네, 번호를 보여주는 것을 확인했습니다. 위에 추가 한 setTitle에도 잘 작동합니다. 그러나 'pn'은 nil을 표시합니다. 분명히 그것이 작동하지 않는 이유는 확실하지만 확실하지 않습니다. – user1454340

+0

오류 메시지가 무엇입니까? – Selkie

답변

0

Bar *items = self.detailItem;이 시작되지 않으므로 nil이 리턴됩니다.

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

를 또는 무엇을 했어야하는 것은이 특정 클래스에 대한 items 바르 할 수 있습니다 : 다음보십시오. 그런 다음 items을 한 번 시작하여 수업 전체에서 사용할 수 있습니다.

+0

항목에 이상이 없으며 모든 것이 올바르게 읽혀집니다. 이 정보는 TableView의 Segue입니다. 'pn'을 만드는 데 문제가있는 것으로 보입니다. 그것은 없지만'items.barPhone'은 올바른 값을 가지고 있습니다. – user1454340

+0

** pn **은 nil입니다. 위에서 설명한 것을 시도하십시오. 'items.barPhone'이 nil이 아니면, pn은 nil이 아닙니다. – WrightsCS

+0

'items.barPhone'이 (가) nil이 아니거나 버튼 제목을 올바르게 설정하지 않았습니다. 'Bars'가'Bar'라고 가정하고 귀하의 코드를 시도했습니다. 나는 똑같은 휴식을 취한다. – user1454340