2013-07-26 3 views
0

iOS로 다이빙하는 재미를 위해 주소록 앱을 만들었습니다.coredata 속성이 null이 아닌 경우에만 버튼이 작동합니다.

기본적으로 연락처를 추가 할 때 이메일 또는 텍스트로 전화를 걸 수 있습니다.

나는 그 (것)들을 추가 할 때 동일한 viewcontroller를 사용하고 그 (것)들을 전망하기 때문에, 나는 ie가 접촉이 볼 때까지 단추가 무능하게한다 그것을 만들 수있다 ie. coredata 속성이 null이 아닌가?

예를 들어 새로운 연락처를 추가하고 모든 입력란을 비워서 이메일 버튼을 누르면 응용 프로그램이 충돌 할 수 있습니다. 연락처가 저장되지 않았기 때문에 이메일을 전송할 엔티티가 없기 때문입니다.

여기 내 이메일 코드입니다. 중요한 이메일 값이 null이거나 크래시를 피하기 위해 비어있는 경우 활성화하지 않아야합니다.

 NSString *emaill = [contact valueForKey:@"email"]; 
MFMailComposeViewController *mailcontroller = [[MFMailComposeViewController alloc] init]; 
[mailcontroller setMailComposeDelegate:self]; 
NSString *email =[@""stringByAppendingString:emaill]; 
NSArray *emailArray = [[NSArray alloc] initWithObjects:email, nil]; 
[mailcontroller setToRecipients:emailArray]; 
[mailcontroller setSubject:@""]; 
[self presentViewController:mailcontroller animated:YES completion:nil]; 

답변

0

NSString *emaill = [contact valueForKey:@"email"]; 
if (emaill.length>0)//if exists 
{ 
    //your code here 
} 
else 
{ 
    NSLog(@"Empty!!!"); 
} 

가 도움이 희망보십시오!

+0

고맙습니다. 선생님 :) –

0

문자열이 있는지 확인하기 위해 if 문을 사용하고, 코드가 있으면 코드를 실행하십시오.

NSString *emaill = [contact valueForKey:@"email"]; 
if (emaill != nil) { 
    MFMail... 
}