使用委托给出了EXC_BAD_ACCESS(代码= 1,地址= 0x2774 ......)

时间:2013-11-29 05:39:50

标签: objective-c delegates exc-bad-access

我对iOS编程完全陌生,我正在尝试制作一个文字游戏,其中将字母拼贴拖放到目标。我已经采用了www.raywenderlich.com/33806/how-to-make-a-letterword-game-with-uikit-part-2中的代码。问题是当我使用GameLogic类作为委托来匹配是否拖动的字母与是否匹配目标,它给我EXC_BAD_ACCESS(代码= 1,地址= 0x277 ......)。在GameLogic.m中,即使在dealRandomScrabble方法中初始化_targets和_tiles数组,当协议:(void)tileView:(TileView *)tileView didDragToPoint:(CGPoint)pt被调用时也会发生错误。在这种方法中,tv和_targets令人惊讶地引用了null!任何人都可以查看我的代码并告诉我我错过了什么?我的GoogleDrive中代码的链接是:

https://drive.google.com/file/d/0BzWvv9PVuvDKLWtJcldRbGVRNUk/edit?usp=sharing

提前谢谢。

2 个答案:

答案 0 :(得分:0)

尝试替换

_targets = [NSMutableArray arrayWithCapacity:scrab2Len];

_targets = [NSMutableArray arrayWithCapacity:scrab2Len] retain];

确保在完成后释放此对象

答案 1 :(得分:0)

在这个方法中

- (无效)dealRandomScrabble

//初始化目标列表

而不是这一行

 _targets = [NSMutableArray arrayWithCapacity:scrab2Len];

使用下面的行。

_targets =[[NSMutableArray alloc] initWithCapacity:scrab2Len];

通过这样做,_targets不会指向null - (void)tileView:(TileView *)tileView didDragToPoint:(CGPoint)pt方法(协议方法)