如果coredata属性不为null,则仅使按钮有效

时间:2013-07-26 02:45:59

标签: ios exception lldb invalid-argument

我制作了一个联系人应用程序,以便深入了解iOS。

基本上,当您添加联系人时,您可以拨打电子邮件或发送短信。

由于我在添加和查看它们时使用相同的viewcontroller,我怎样才能使按钮被禁用直到查看联系人,即。 coredata属性不为空?

比如说我去添加一个新联系人,所有字段都空白,我点击了电子邮件按钮,应用程序将崩溃,因为没有实体发送电子邮件导致联系人尚未保存。

这是我的工作电子邮件代码:如果关键电子邮件的值为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];

2 个答案:

答案 0 :(得分:0)

只需使用if语句检查字符串是否存在,如果存在则执行代码。

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

答案 1 :(得分:0)

试试这个

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

希望有所帮助!