2012-02-02 2 views
0

私はObjective-CのNSStringを持っています。サイズを見つけてそれをある数値と比較したいのです。しかし、私はこれを行う適切な方法は何か分かりませんか?Objective-Cの文字列のサイズを比較するには?

NSUInteger size = [self.display.text length]; 

は、しかし、今私は0でこのサイズを比較したい:

私がこれまで持っていることはUILabel *であると私はやってと思っていますが、以下であるdisplayと呼ばれる特性があります。しかし、私はこれを行うための適切な方法はよく分かりません。私は、次のことをやって考えてきましたが、何らかの理由でこれがないと思える:

if(size == 1) { doSomething}; 

任意のヘルプ?ありがとう

+0

は、その長さに等しいサイズの定義ですか? – justin

+0

はい、サイズは文字列の長さと等しくなるようにします。 – Nosrettap

+0

ok - ty。以下の答え。 – justin

答えて

1

はい、これは正しい方法です。あなたは長さが0より大きい場合、すなわちだけでなく@""文字列があるかどうかを確認したい場合は、あなただけの-[NSString length]を使用することができ、この

NSUInteger size = [self.display.text length]; 
if(size>0) { 
    //do something 
}; 
0

のようなゼロと比較します。これは文字列内の文字数を返します。 NSStringはその基になるバッファのエンコーディングを抽象化しますが、lengthはそれを抽象化する必要があります!これは、std::string.size()またはstrlenとは異なり、エンコードとは関係なくバイト数を返します。

したがって、文字列が空であるかどうかを確認するには0 == str.length、文字が1文字(エンコードセーフ)かどうかを判断するには1 == str.lengthと書くことができます。