ユーザー入力 (UITextField) からの文字列値が nil でない場合、「空白」かどうかを判断しようとしています。[textField.text isEqualToString:""]
空白/空白の入力(いくつかの空白文字など)を避けたいので、チェックするだけでは十分ではありません。
この StOv の投稿 には、私の特定の問題に対する適切な解決策が示されているようです。
基本的には次のようになりますが、もっと良い方法があるはずです(またはすべきだと思います):
NSString *strResult;
NSScanner* scanner = [NSScanner scannerWithString:textField.text];
BOOL hasValidChars = [scanner scanUpToCharactersFromSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]
intoString:&strResult];
// if hasValidChars == YES, we've got nonwhite space chars collected into strResult
これは明らかに私の特定の状況でのみ機能します。それでも、最初の文字がスペースで、必要なデータが続く場合は失敗します。だから、私はRubyに少し甘やかされてきたことに気づきましたが、Cocoaで文字列をトリミングするための実証済みの真のイディオムがあるに違いありません.
答えはすでに出ています。申し訳ありません。
NSString-stringByTrimmingCharactersInSet:
はそれを行います:
指定された文字セットに含まれるレシーバ文字の両端から削除することによって作成された新しい文字列を返します。
誰かがこれを行う他の/好ましい方法を持っているかどうか、私はまだ知りたいです.