2016-05-15 40 views
0

给定一个脚本对象的NSScriptObjectSpecifier,如何告知其容器中的对象的索引?Cocoa脚本:获取其容器中可编写脚本的对象的索引

我找不到NSScriptObjectSpecifier或其子类中的访问器方法。

如果对象是NSIndexSpecifier,则很容易获得索引。但是如果是别的东西,例如一个NSNameSpecifier,那么它需要被查询。可可脚本指南指出,当框架需要学习索引时,框架会自动执行该操作,但没有解释如何完成该操作。

有一个脚本对象可以实现的方法来返回这样的索引,但这是一个可选的方法,所以我假设我不能简单地在任何脚本对象上调用它。

是否有一些其他简单的方法来学习索引,还是我必须实现我自己的方法,沿着说明符并自行处理所有可能的情况?

+0

你实施了'-objectIn AtIndex:'? – vadian

+0

是的。这将如何帮助?我不想得到所有的项目,然后搜索他们的问题的对象。这会导致相当糟糕的表现。 –

+0

然后我不明白这个问题。对于层次结构中的任何子类,您必须提供一个包含“containerClassDescription”的“NSScriptObjectSpecifier”。从该说明符中,框架可以识别适当的索引。 – vadian

回答

0

您是否在寻找NSArray的

- indexOfObjectIdenticalTo:self 

任何机会?当我需要返回formIndex ospec时,我在-objectSpecifier方法中使用它。