あなたが好きではない文字をユーザーが入力したため、警告を表示しないでください。これはひどいUXです。特に、誤植の可能性が高いソフトキーボードを使用している場合は、そうです。
代わりに、入力を処理して、必要な文字を抽出します。電話番号の入力フィールドを持つWebフォームを作成すると考えてください。あなたは、ハイフンや国別コードのプレフィックスなど人間が判読可能な形式の電話番号には興味がありませんが、ユーザーがそれらの文字を入力するのを止めるべきではありません。あなたはあなたが望むものを残して無効な文字を取り除くことができるコードを持っています。
NSString
でも、-stringByTrimmingCharactersInSet:
で簡単にできます。例えば、あなたは-stringByTrimmingCharactersInSet:
を起動し、指定したNSString
インスタンスから削除したい文字にNSCharacterSet
を定義し、あなたがそれにしたい文字のみで自動解放NSString
インスタンスを取得します。:
NSString *rawInput; // value assigned elsewhere to @"555-555-1212"
NSCharacterSet *characterSet = [ NSCharacterSet characterSetWithCharactersInString: @"-" ];
NSString *processedInput = nil;
processedInput = [ rawInput stringByTrimmingCharactersInSet: characterSet ];
NSLog(@"processedInput: %@", processedInput); // logs "5555551212"