程序收到信号:“EXC_BAD_ACCESS”

时间:2011-07-15 20:19:19

标签: objective-c cocoa-touch

将数组数据写入nsmarrHeader和nsmarrData工作正常。 当我将这些“2D”NSMutableArrays写入结构时,我得到:程序接收信号:“EXC_BAD_ACCESS”。

struct typeFile structFile;

[structFile.nsmarrHeader addObjectsFromArray: nsmarrHeader];
[structFile.nsmarrData addObjectsFromArray: nsmarrData];

这会得到同样的错误:

[structFile.nsmarrHeader addObject: nsmarrHeader];
[structFile.nsmarrData addObject: nsmarrData];

所以我不确定写入结构有什么问题,或者我应该做些什么呢?

感谢

1 个答案:

答案 0 :(得分:3)

如果你有Objective-c对象作为普通结构字段,那么默认情况下它们不会被初始化,所以在你的代码中你试图向未初始化的对象发送消息,从而得到EXC_BAD_ACCESS错误。

在使用结构字段之前,你应该明确地初始化它们,但我认为如果可以更好地使用objective-c对象而不是普通结构 - 这将使你更容易(例如内存管理)