gpt4 book ai didi

ios - Nsmutablearray 在访问时损坏

转载 作者:行者123 更新时间:2023-11-28 20:08:12 25 4
gpt4 key购买 nike

我有一个 NSMutable 数组,该数组从 api 调用中填充,其中包含 31 个有效值。

enter image description here

正如我们所见,它有一个类对象的集合,其中有 4 个属性。他们每个人都有分配给他们的有效值。例如:dat、ancillary 等。这在 dispatch_aync 中。

在主队列中,我正在遍历 chart_data 但我的 EXC_BAD_ACCESS code=1,当我试图更深入地调试这个问题时。我发现我的 NSmutable 数组正在损坏。

这是我访问数组时的屏幕截图。

enter image description here

随机地址或值分配给它然后破坏我的代码,因为我期望 double 和日期值。

在这两个事务之间没有对 chart_data 的操作。知道为什么会发生这种情况。这突然开始发生,直到今天代码都运行良好。

填充 Nsmutable 数组的代码

+(NSMutableArray*)GetData:(NSDictionary*)dataArray
{
daily_unit_Array = [[NSMutableArray alloc]init];

for (int i=0; i < 31; i++)
{
UnitCost *unit_cost = [[UnitCost alloc]init];

unit_cost.date = [keys objectAtIndex:i];

NSArray *unit_cost_value = [dataArray objectForKey:[keys objectAtIndex:i]];

unit_cost.val1 = [unit_cost_value valueForKey:@"val1"];
unit_cost.val2 = [unit_cost_value valueForKey:@"val2"];
unit_cost.val3 = [unit_cost_value valueForKey:@"val3"];
unit_cost.val4 = [unit_cost_value valueForKey:@"val4"];

[daily_unit_Array addObject:unit_cost];
}
return daily_unit_Array;
}

并将其返回给调用它并将其分配给 chart_data 的函数

P.S :这是一个偶发问题,每 10 次就会出现 8 次。有时,当我运行该应用程序时,它会完美运行并向我显示我想要的内容。注意:只是一个注释。我昨天将我的 Xcode 更新到 5.1 beta 4 版本。但我认为这不会导致问题,因为我尝试在旧版本的 Xcode 中运行我的相同代码并且我可以重现该错误。

最佳答案

我终于找到了解决方案。正如@trojafoe 指出的那样,问题不在 NSmutable 数组中,而在其中的对象中。我发现 UnitCost 对象的属性属于 (assign,nonatomic) 类型。一旦我将它们更改为 (retain,nonatomic) 问题就解决了......

我猜这些值没有被保留。

关于ios - Nsmutablearray 在访问时损坏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21284864/

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