oOOMIAO 2013-02-20 02:23 采纳率: 10%
浏览 1584

根据首字母排序NSArray

我的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];

最后是想在第二个array中进行搜索,并且用一个普通字母代替每个首字母。

  • 写回答

1条回答 默认 最新

  • ChatGPTᴼᴾᴱᴺᴬᴵ 2022-12-19 14:32
    关注

    ChatGPT尝试为您解答,仅供参考
    为了创建一个包含所有元素都相同的 NSArray,你可以这样做:

    NSString *sameValue = @"john galt";
    int count = 4;
    
    NSMutableArray *newContactNamesArray = [[NSMutableArray alloc] initWithCapacity:count];
    for (int i = 0; i < count; i++) {
        [newContactNamesArray addObject:sameValue];
    }
    

    这样就可以创建一个包含4个元素,每个元素都是 @"john galt" 的 NSArray。


    然后,如果你想在 newContactNamesArray 中搜索元素并用普通字母代替每个首字母,你可以使用 NSArray 的 indexOfObject 方法来获取每个元素的索引,并使用 NSMutableArray 的 replaceObjectAtIndex:withObject: 方法来替换元素。


    例如,你可以这样做:

    for (int i = 0; i < count; i++) {
        NSString *name = contactNamesArray[i];
        NSUInteger index = [newContactNamesArray indexOfObject:name];
        if (index != NSNotFound) {
            // 如果找到了,就用普通字母替换首字母
            NSString *normalizedName = [name stringByReplacingCharactersInRange:NSMakeRange(0, 1) withString:[[name substringToIndex:1] lowercaseString]];
            [newContactNamesArray replaceObjectAtIndex:index withObject:normalizedName];
        }
    }
    

    这样就可以在 newContactNamesArray 中搜索 contactNamesArray 中的元素,并用普通字母代替首字母。

    评论

报告相同问题?

悬赏问题

  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 LiBeAs的带隙等于0.997eV,计算阴离子的N和P
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 来真人,不要ai!matlab有关常微分方程的问题求解决,
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算