2013-07-26 2 views
0

Я сделал приложение для друзей, чтобы поплавать в iOS.Сделать кнопку работать, только если атрибут coredata не является нулевым

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

Поскольку я использую один и тот же элемент управления представлением при их добавлении и просмотре, как я могу сделать это так, чтобы кнопки были отключены до тех пор, пока контакт не будет просматриваться, т.е. атрибуты coredata не равны нулю?

Например, я хочу добавить новый контакт, все поля пустые, и я нажму кнопку электронной почты, приложение выйдет из строя, так как нет адреса электронной почты, потому что контакт еще не сохранен.

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

 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... 
}