if文のもっと短い書き方を教えて頂きたいです


初心者で質問の内容が足りないかもしれません。  
`if`文において、変数等を使って以下のコードをもう少し短く書く方法は御座いますでしょうか？  
ご教授のほど宜しくお願い致します。

内容としましては、別クラスから呼び出したメソッドのTitleが「空っぽ」＆「nil」でない場合のif文です。宜しくお願い致します。

[code]

    if (![[Data ValueWithKey:InformationTitle] isEqual:@""] &&
        ![[Data ValueWithKey:InformationTitle] isEqual:nil]) {}
    
[/code]




こんな感じでしょうか？

[code]

    emptyString = [Data ValueWithKey:InformationTitle];
    if ((emptyString != nil) && (emptyString.length == 0))
    {
        // do something
    } //end if value is ""
    
[/code]

もっと短く書くなら

[code]

    emptyString = [Data ValueWithKey:InformationTitle];
    if (!emptyString && (emptyString.length == 0))
    {
        // do something
    } //end if value is ""
    
[/code]

という書き方も出来ると思います。

余談ですが、

  * クラス名は大文字から
  * 変数名は小文字から

書き始めるのが良いと思いますので、Dataという変数名は避けた方がいいと思います。

追記  
質問のコメントを拝見して、回答の趣旨が間違っていることに気がつきました。  
上のコードはタイトルが「空っぽ」かつ「nilでない」事を判別するコードになります。  
「空っぽ」でも「nil」でもない事を判別するためには以下のコードになります。

[code]

    emptyString = [Data ValueWithKey:InformationTitle];
    if ((emptyString != nil) && (emptyString.length > 0))
    {
        // do something
    } //end if value is not empty
    
[/code]

再追記  
if文の中に入ってくれないという事で、デバッグ用に冗長化したコードを記述してみます。  
以下をステップ実行して、BOOL型の2つの変数にそれぞれYES(true)が代入されるかを確認してみてください。

[code]

    NSString *title = [Data ValueWithKey:InformationTitle];
    BOOL isNotNil = title ? YES : NO;
    BOOL isNotEmpty = (title.length > 0) ? YES : NO;
    if (isNotNil && isNotEmpty)
    {
         // do something
    } // end if title is there
    
[/code]




こんな感じでしょうか？

[code]

    emptyString = [Data ValueWithKey:InformationTitle];
    if ((emptyString != nil) && (emptyString.length == 0))
    {
        // do something
    } //end if value is ""
    
[/code]

もっと短く書くなら

[code]

    emptyString = [Data ValueWithKey:InformationTitle];
    if (!emptyString && (emptyString.length == 0))
    {
        // do something
    } //end if value is ""
    
[/code]

という書き方も出来ると思います。

余談ですが、

  * クラス名は大文字から
  * 変数名は小文字から

書き始めるのが良いと思いますので、Dataという変数名は避けた方がいいと思います。

追記  
質問のコメントを拝見して、回答の趣旨が間違っていることに気がつきました。  
上のコードはタイトルが「空っぽ」かつ「nilでない」事を判別するコードになります。  
「空っぽ」でも「nil」でもない事を判別するためには以下のコードになります。

[code]

    emptyString = [Data ValueWithKey:InformationTitle];
    if ((emptyString != nil) && (emptyString.length > 0))
    {
        // do something
    } //end if value is not empty
    
[/code]

再追記  
if文の中に入ってくれないという事で、デバッグ用に冗長化したコードを記述してみます。  
以下をステップ実行して、BOOL型の2つの変数にそれぞれYES(true)が代入されるかを確認してみてください。

[code]

    NSString *title = [Data ValueWithKey:InformationTitle];
    BOOL isNotNil = title ? YES : NO;
    BOOL isNotEmpty = (title.length > 0) ? YES : NO;
    if (isNotNil && isNotEmpty)
    {
         // do something
    } // end if title is there
    
[/code]

