空の値をテストしたことを確実に確認するには、空の文字列もテストする必要があります。
この構成体はそれを行い、 を使用するよりもタイピングが少なくなりますisEqualToString:
が、それは主に個人的な好みの問題です:
if ( content.text == nil || content.text.length == 0 ) {
}
nil
Objective-C ランタイムのより詳しい知識を持つ人々は、メッセージを送信するnil
と常に nil (または 0) になるため、テストcontent.text.length
は冗長であると指摘するかもしれませんcontent.text
。また、あなたの周りに筋金入りの C コーダーが住んでいる場合、if ステートメントで 0 をテストすることは弱虫のためであると同様に指摘される可能性があります。
したがって、コードの明確さを犠牲にして、入力を次のように減らすことができます。
if ( !content.text.length ) {
}
メールアドレスをテストするための正規表現に関しては、ここで良い議論があり、Cocoa での正規表現は次のように行うことができます:
NSPredicate *regexPred = [NSPredicate predicateWithFormat: @"self matches[cd] '<email regex here>'"];
BOOL match = [regexPred evaluateWithObject: content.text];