0

iOS に飛び込む楽しみのために連絡先アプリを作成しました。

基本的に、連絡先を追加すると、メールまたはテキスト メッセージを送信できます。

それらを追加して表示するときに同じビューコントローラーを使用するため、連絡先が表示されるまでボタンが無効になるようにするにはどうすればよいですか。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];
4

2 に答える 2

0

if ステートメントを使用して文字列が存在するかどうかを確認し、存在する場合はコードを実行します。

NSString *emaill = [contact valueForKey:@"email"];
if (emaill != nil) {
    MFMail...
}
于 2013-07-26T05:12:18.170 に答える
0

これを試して

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

それが役立つことを願っています!

于 2013-07-26T05:34:02.347 に答える