Objective c 目标-c识别contentView项

Objective c 目标-c识别contentView项,objective-c,nsobject,Objective C,Nsobject,是否有方法在contentView中标识唯一的对象?例如,我在mainWin中有一个NSView和两个NSView按钮。使用 [[mainWin contentView] subviews]; 我可以获取mainWin中的所有对象。如果对象是NSView的子类,并且我给了它一个类,例如,在本例中,我将该类命名为vHUD,当我记录该对象时,它返回为 <vHUD: 0x146e10> 这对于我正在创建的NSViews来说很好,因为在大多数情况下,如果我创建它们,它们将用于多种用

是否有方法在contentView中标识唯一的对象?例如,我在mainWin中有一个NSView和两个NSView按钮。使用

[[mainWin contentView] subviews]; 
我可以获取mainWin中的所有对象。如果对象是NSView的子类,并且我给了它一个类,例如,在本例中,我将该类命名为vHUD,当我记录该对象时,它返回为

<vHUD: 0x146e10>


这对于我正在创建的NSViews来说很好,因为在大多数情况下,如果我创建它们,它们将用于多种用途(内容容器、在屏幕上切换等),并且应该需要一个类。我可以将所有按钮子类化(在NSObject下)并这样做,但如果我最终拥有很多按钮,这似乎是一个大锤式的方法。是否有一种方法可以唯一地识别IB中具有描述性的所有按钮,然后可以从对象本身检索这些按钮?我尝试了“描述”,但没有返回任何内容

您是否尝试过在NSView类中使用tag instance变量?

是的,我已经读过了,但它需要一个索引号,我希望有更具描述性的内容。我想我可以设置所有标记,然后创建一个字典,其中键是标记索引,如果需要的话,是描述性的值,但这似乎比我需要做的工作要多…我希望的是一种简单的方法来检索应用于IB插座的var名称-例如,我使用这种命名约定-所有视图都是vViewName-就像这个vHUD(平视显示),所有按钮都是btnButtonName。因此,在我的应用程序控制器中,它们被列为:IBOutlet id vHUD;IBOutlet id btnCloseHUD等,我已经将它们链接到IB中的适当对象。现在我为vHUD创建了一个类,这样当我获得所有子视图时,我就能看到它,但必须有一种方法可以获得我分配给IBOutlet的名称,不是吗?解决了它(至少对于视图和按钮)-使用按钮的替代标题,类的子视图和一些条件技巧来对其进行排序任何人都知道为什么可以在IB中设置描述,在对象上调用它,例如一个名为myTable-[myTable description]的表,但在日志中返回它-我猜IB中的描述和objective-c中的描述不相关?