2

私はNSArray次のようなものを持っています:

contactNamesArray = [[NSMutableArray alloc] initWithObjects:@"John Galt", @"Michael Wales", @"James Joyce", @"Shakespeare", nil];

それから、すべて同じ値NSArrayを持つを作成したいのですが、それは次のようになります。

newContactNamesArray = [[NSMutableArray alloc] initWithObjects:@"john galt", @"michael wales", @"james joyce", @"shakespeare", nil];

その 2 番目の配列で検索を行い、その中のすべての大文字を通常の文字に置き換えたいので、これを行いたいと思います。

Objective-C でこのようなことを行うにはどうすればよいでしょうか? 前もって感謝します!

4

2 に答える 2

5

配列を調べて、呼び出してすべての要素を小文字に変換できます

[element lowercaseString]

その上で。ただし、これは大文字と小文字を区別しない検索を実装するには最適ではありません。より良いアプローチは、文字列をそのまま保持し、caseInsensitiveCompare代わりに検索にメソッドを使用することです。

于 2013-02-17T12:25:20.297 に答える
5

なんでコピペするの?大文字と小文字を区別しない方法で NSArray をソートできます。

NSArray *sortedContactNamesArray = [contactNamesArray sortedArrayUsingSelector:@selector(caseInsensitiveCompare:)];

また、sortedArrayUsingSelector元のアイテムのコピーではなく、元のアイテムへの参照を含む配列を返すことに注意してください。

于 2013-02-17T12:29:13.880 に答える