私の目的は、テキストフィールドからのユーザーの入力を分析し、ユーザーが記号を使用しているかどうかを確認することです。
たとえば、ユーザーの入力は「/ ardv / * k」であり、ユーザーが3つの記号を入力したことを示す変数が必要です。
NSRangeを使用して文字列を検索する方法がわかりません。これは、最初の出現が見つかるとすぐに停止するためです。
また、NSSetはcharacterAtIndexセレクターと互換性がありません。
isEqualTo:機能しませんでした。
これが私がしたことですが、可能であればこのコードをより簡単にする方法を知りたいです:
...
NSString *testThisString = @"/ardv/*k";
NSCharacterSet *unknownFlags1 = [NSCharacterSet punctuationCharacterSet];
NSCharacterSet *unknownFlags2 = [NSCharacterSet symbolCharacterSet];
NSCharacterSet *unknownFlags3 = [NSCharacterSet whitespaceCharacterSet];
int count = 0;
for (int i = 0; i < [testThisString length]; i++) {
if ([unknownFlags1 characterIsMember:[testThisString characterAtIndex:i]] |
[unknownFlags2 characterIsMember:[testThisString characterAtIndex:i]] |
[unknownFlags3 characterIsMember:[testThisString characterAtIndex:i]]) {
count++;
}
}
NSLog(@"There are %d unknowns", count);
...