Ser*_*yov 2 iphone cocoa-touch objective-c nsarray ios
我有一个NSArray看起来像这样:
contactNamesArray = [[NSMutableArray alloc] initWithObjects:@"John Galt", @"Michael Wales", @"James Joyce", @"Shakespeare", nil];
Run Code Online (Sandbox Code Playgroud)
从它,我想做一个NSArray将具有所有相同的值,但这将是这样的:
newContactNamesArray = [[NSMutableArray alloc] initWithObjects:@"john galt", @"michael wales", @"james joyce", @"shakespeare", nil];
Run Code Online (Sandbox Code Playgroud)
我想这样做,因为我想在第二个数组中进行搜索,我想用普通字母替换其中的每个大写字母.
你如何在Objective-C中做这样的事情?提前致谢!
您可以浏览一个数组,并通过调用将每个元素转换为小写
[element lowercaseString]
Run Code Online (Sandbox Code Playgroud)
在上面.但是,这对于实现不区分大小写的搜索来说非常不理想:更好的方法是保持字符串不变,并采用caseInsensitiveCompare搜索方法.
你为什么要复制?您可以以不区分大小写的方式对NSArray进行排序:
NSArray *sortedContactNamesArray = [contactNamesArray sortedArrayUsingSelector:@selector(caseInsensitiveCompare:)];
Run Code Online (Sandbox Code Playgroud)
另外,请记住,sortedArrayUsingSelector返回一个数组,其中包含对原始项的引用,而不是它们的副本.
| 归档时间: |
|
| 查看次数: |
394 次 |
| 最近记录: |