gpt4 book ai didi

ios - 我需要一个可变数组,它在 IOS 中有 8 个内插字符串

转载 作者:行者123 更新时间:2023-11-28 19:36:31 30 4
gpt4 key购买 nike

我是 IOS 的新手,我不确定我是否在正确的轨道上。我需要知道的是,如果我走在正确的轨道上,如果我偏离了轨道,就会提示我要解决什么问题,这样我才能回到正轨。可变数组应该读取一组扬声器并说出“Hello, my name is <speakerArray>”,它应该这样做 8 次,每次使用不同的名称。这就是我所拥有的:

- (NSArray*)badgesForSpeakers:(NSArray*)speakers {
for(speakers i = 0; i => 7; i++)
{
NSString *greetings =@"Hello, my name is .";
NSMutableArray *badges = [speakers arrayByAddingObjectsFromArray:greetings];
}

return badges;
}

最佳答案

让我们一步一个脚印。首先,您在循环中的运算符(operator)是错误的;你的意思是执行 i 小于 7。因此,更改 =><= .然而,更时尚的说法是i < 8 .最后,最时髦的方法是使用所谓的“快速枚举”,它允许您在根本没有索引的情况下进行循环。事实上,无论您的 speakers 中有多少项目,它都会起作用。大批!这将我们带到这里:

- (NSArray*)badgesForSpeakers:(NSArray*)speakers {
for (NSString* speaker in speakers)
{
NSString *greetings =@"Hello, my name is .";
NSMutableArray *badges = [speakers arrayByAddingObjectsFromArray:greetings];
}

return badges;
}

接下来,greetings不是数组!这是一个字符串。这就是为什么打电话 -arrayByAddingObjectsFromArray:没有任何意义,为什么编译器不喜欢它。让我们把它的名字设为单数,greeting , 来反射(reflect)这个事实。 策略:您的目标是创建一个空数组,然后一项一项地构建项目并将它们添加到该数组中。这需要我们:

- (NSArray*)badgesForSpeakers:(NSArray*)speakers {
NSMutableArray *badges = [NSMutableArray array]; //Here we make an empty array
for (NSString* speaker in speakers)
{
NSString *greeting =@"Hello, my name is .";
[badges addObject:greeting]; //Here we add one item to it each time 'round the loop
}
return badges;
}

最后,您的字符串现在没有插值! 字面意思是“你好,我叫 。”我们使用 -stringWithFormat: 进行字符串插值方法。

成品:

- (NSArray*)badgesForSpeakers:(NSArray*)speakers {
NSMutableArray *badges = [NSMutableArray array];
for (NSString* speaker in speakers)
{
NSString *greeting = [NSString stringWithFormat:@"Hello, my name is %@.",speaker];
[badges addObject:greeting];
}
return badges;
}

这应该会让您开始快速枚举和字符串插值。请记住经常编译您的代码并尝试理解编译器错误——它会帮助您解决其中的一些问题。

关于ios - 我需要一个可变数组,它在 IOS 中有 8 个内插字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38342657/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com