ParseKit对象不能为nil错误

时间:2011-10-13 20:31:26

标签: objective-c parsekit

我正在尝试在项目中使用ParseKit。我认为已经正确定义了一个语法,每次我尝试将该语法与测试字符串一起使用时,我在控制台中获取一个日志并崩溃:

p :( null) * - [__ NSArrayM insertObject:atIndex:]:对象不能为零

这意味着什么? 我做错了什么?

1 个答案:

答案 0 :(得分:0)

ParseKit的开发人员。我能够找到你发给我的语法问题(非现场)。

问题出在这一行:

optionalWhere = empty | 'WHERE' comparisons;

这里有一个'空',应该是Empty

所有内置的ParseKit解析器都是大写字母,例如:Empty

如果你解决了这个问题,那就很好。

要在将来找到/解决此类问题:在ParseKit项目中进行全局搜索:“doTestGrammar”。

在该方法中,用您的语法替换现有语法。然后在调试模式下运行“DebugApp”目标,并打开断点。这将导致你崩溃。从那里,将堆栈跟踪备份到最后一个被调用的解析器回调,并将发送到该解析器回调方法的PKAssembly打印为arg。打印PKAssembly的控制台输出将指向您的语法中有错误的行。在这种情况下,它是:

[] /empty/ /|/ /'WHERE'/ /comparisons^

希望能帮助您调试未来的问题。