我对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
提前谢谢。
答案 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方法(协议方法)