【发布时间】:2011-08-20 05:08:25
【问题描述】:
在我的钢琴课中,我有一个属性(键是另一个自定义类)
@property (nonatomic, retain) Keys *lastPlayed;
在我的一个 Piano 方法中,我使用 Key 对象数组中的一个对象设置 lastPlayed 的值。
self.lastPlayed = [allKeys objectAtIndex:variable];
上面这行代码导致程序崩溃。
我注意到,如果我从 allKeys 数组中硬编码一个特定的 Key 对象,那么它可以正常工作。像这样:
self.lastPlayed = keyC;
有趣的是,如果我将崩溃代码放入不同的方法中,它不会崩溃。
如何防止崩溃?
编辑:
我在 Keys 类中调用此方法,其中我的钢琴是委托
[delegate deliverTagwithNameTag:self.tag]
然后钢琴响应
- (void) deliverTagwithNameTag:(int)nameTag {
self.lastPlayed = [allKeys objectAtIndex:nameTag];
}
【问题讨论】:
-
请发布崩溃日志的输出,以及更多代码,显示这些行与您的其他代码的关系。
-
我们需要更多关于这个的信息。我在想它可能是空指针或索引越界异常。但是如果没有更多信息就无法确定。您遇到什么类型的错误?
-
这就是问题所在,它没有显示一个。当我调用该方法时,它只是崩溃并说访问不正确
-
你能在 gdb 中输入“bt”吗?
标签: objective-c arrays