gpt4 book ai didi

ios - 具有从 1 到 100 的 int 值的 NSMutableArray

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:43:47 24 4
gpt4 key购买 nike

这应该非常简单,但不知何故它不想为我工作。使用 iOS 7 和 XCode 5。我想要做的就是创建一个值从 1 到 100 的数组。

NSMutableArray *array;
for (int i = 0; i < 100; i++)
{
[array addObject:i];
}

这行不通。我收到“ARC 不允许将‘int’隐式转换为‘id’。我明白了,我不能将原始类型添​​加到 NSMutableArray。

    [array addObject:@i];

这也行不通。我在程序中收到“意外的‘@’”

    [array addObject:[NSNumber numberWithInt:i]];
[array addObject:[NSNumber numberWithInteger:i]];

(无论哪种情况)这个“工作”(编译)但它真的不“工作”。问题在于 NSNumber 的值实际上不是 1-100。我得到的每一行是“147212864”、147212832、“147212840”……不是我想要的。

最后:

for (NSNumber *i = 0; i < [NSNumber numberWithInteger:100]; i++)
{
[array addObject:i];
}

这也不编译。我在 i++ 上遇到错误。 “对指向接口(interface) 'NSNumber' 的指针进行算术运算,对于此体系结构和平台而言,它的大小不是恒定的”

关于如何在 obj-c 上做这个极其简单的事情有什么建议吗?

最佳答案

其中任何一个都应该有效:

NSMutableArray *array = [NSMutableArray array];
for (int i = 0; i < 100; i++) {
[array addObject:@(i)];
}

NSMutableArray *array = [NSMutableArray array];
for (int i = 0; i < 100; i++) {
[array addObject:[NSNumber numberWithInt:i]];
}

以下是您的代码片段不起作用的原因:

  1. [array addObject:i] - 您不能将基元添加到 Cocoa 集合中
  2. [array addObject:@i] - 你忘了把表达式 i 括起来在括号中
  3. NSNumber *i = 0; i < [NSNumber numberWithInteger:100]; i++ - 你不能增加 NSNumber无需先“展开”其值(value)。

关于ios - 具有从 1 到 100 的 int 值的 NSMutableArray,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22153463/

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