gpt4 book ai didi

iphone - NSMutable 数组和脑损伤

转载 作者:行者123 更新时间:2023-12-03 20:17:45 24 4
gpt4 key购买 nike

由于我对 obj c 和 NSMutable 数组的完全误解,我最近提出的一些骨头问题吸引了一些聪明人的回答,这是可以理解的。因此,我查阅了我拥有的一本书和 Google,看来我可能不应该编程,因为我仍然陷入困境。

假设我正在循环方法 A,每次循环我都想将一个 double 添加到 NSMutable 数组中。这是我迄今为止发现的。

你不能将基元放入数组中,所以我将 double 变成了 NSNumber 对象

NSNumber *newObject = [NSNumber initWithDouble:doubleNumber];

XCode 警告:“NSNumber”可能不会响应“+initWithDouble:”

当我编译它时得到:

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '+[NSNumber initWithDouble:]: unrecognized selector sent to class 0x1ffea0'

我忽略了这一点并继续前进。有人告诉我,我需要一个数组的 init 方法,这是有道理的,因为我不希望这种情况发生在循环中。这是我的初始化方法:

-(id) init{
[super init];
arrayOfTouches = [[NSMutableArray alloc] init];
return self;
}

我还没有尝试将它添加到数组中。

[arrayOfTouches addObject:newObject];

这可以打印出数组吗?

NSLog(@"array: %@", touchBeginObj);

可能是愚蠢的问题。但如果我能找到任何包含关于你能做什么和不能做什么的所有内容的好例子,那该死的。

感谢您的任何帮助或聪明的评论。

是的,我有一本 Obj-C 书,实际上是 3 本书,是的,我正在读它们:)

周末愉快。

最佳答案

NSNumber *newObject = [NSNumber initWithDouble:doubleNumber];

上面代码中缺少 +alloc 调用,这就是它抛出该错误的原因 - 但为什么不直接使用:

NSNumber *newObject = [NSNumber numberWithDouble:doubleNumber];

它是自动释放的,因此您不必担心稍后释放它。

我不确定其他问题在问什么,你能重新表述一下吗?从您给出的代码来看,我认为它应该可以工作

关于iphone - NSMutable 数组和脑损伤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4053367/

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