2

重複の可能性:
Objective C で文字列が空かどうかをテストするにはどうすればよいですか?

比較的基本的な機能についてAppleのドキュメントを調べてきましたが、文字列が何もない/ nilであるか、空の空白であるかを確認する機能がないとは想像できません。私もこれをGoogleで検索しました。私が見つけた唯一のものは、空の文字列をテストする独自の関数を作成する方法についてアドバイスを与えている人々です。

.NET では、私が言わなければならないのは

If (String.IsNullOrEmpty(txtTextBox.Text)) {
// Action
}

Cocoa には、.NET の String クラスの IsNullOrEmpty に相当するものがありますか?

4

1 に答える 1

7

かどうかを確認でき[string length] == 0ます。nil で length を呼び出すと 0 が返されるため、これは有効であるが空の文字列 (@"") であるかどうか、および nil であるかどうかをチェックします。

編集:上記のコメントを読んだ後、空/nilだけでなく空白(技術的には空ではない)についてのあなたの懸念の1つを見逃したことに気付きました。これら 3 つの条件すべてをチェックする組み込みの方法は知りませんが、簡単な解決策は、テスト中に文字列から空白を削除することです。例えば:

NSString *str = @"   ";    //3 white spaces
if([str stringByTrimmingCharacterInSet: [NSCharacterSet whitespaceCharacterSet]] length] == 0)
{
        NSLog(@"String is empty, nil or full of whitespace!");
}

結果: String is empty, nil or full of whitespace!

whitespaceAndNewlineCharacterSetそれがあなたのニーズにより適している場合は、それを使用することもできます。StringIsNullOrEmpty文字列を受け取り、上記のテストを実行するような別のメソッドを作成することをお勧めします。

ソース: Objective C で文字列が空かどうかをテストするにはどうすればよいですか?

于 2013-01-03T17:42:24.077 に答える