gpt4 book ai didi

objective-c - NSMutableArray 计数总是返回零

转载 作者:太空狗 更新时间:2023-10-30 03:34:09 25 4
gpt4 key购买 nike

我确定我在做一些愚蠢的事情,但这让我发疯。

我试图遍历数据库结果,从这些结果创建对象,并将对象添加到 NSMutableArray。我已经通过 NSLog 调用验证数据正在从数据库中正确读取并复制到对象,但是 NSMutableArray 的计数总是 返回 0。

这是代码的本质:

while ([rs next]) {

Kana *htemp = [Kana alloc];

htemp.content = [rs stringForColumn:@"hiragana"];
[hiragana addObject:htemp];

}
NSLog(@"Hiragana contains %d objects", [hiragana count]);

假名派生自NSObject,平假名是NSMutableArray的一个实例。

我确定这是菜鸟犯的错误,我希望有人能纠正我。 TIA! :)

最佳答案

从您发布的代码来看,我的猜测是您可能没有正确分配数组。创建对象时,还需要对其进行初始化。因此,这:

Kana *htemp = [Kana alloc];

应该是:

Kata *temp = [[Kana alloc] init];

所有对象都需要以这种方式初始化。因此,如果我是正确的并且您还没有初始化数组,那么您的创建需要从这里开始:

NSMutableArray *hiragana = [NSMutableArray alloc];

为此:

NSMutableArray *hiragana = [[NSMutableArray alloc] init];

出于优化的原因,如果您知道可以容纳多少个对象,您可能还应该指定一个初始容量:

[[NSMutableArray alloc] initWithCapacity:someNumber];

关于objective-c - NSMutableArray 计数总是返回零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/633699/

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