【发布时间】:2009-06-25 17:07:50
【问题描述】:
我有一个带有 25 块 myGameTile 的游戏板,myGameTile 是 NSView 的子类。 在 mouseDown 中:我想确定我单击了哪个图块并将 ivar 设置为代表值。
例如如果我单击 tile 12,请将 clickedTile 设置为“12”或唯一代表该特定实例的某个值。
我打开了从整数值 12 一直到某种内省/反思的任何东西,尽管内置功能和优雅比 hack、运行时包装器和修改更可取。不过,我知道我可能别无选择,只能依赖这些解决方案,所以也请回答这些问题。我想知道我所有的选择。谢谢!
【问题讨论】:
-
这是一个标题不佳的问题。我建议将其更改为“确定游戏板上的哪个子视图被点击”之类的内容。乍一看,询问“self 是哪个实例”毫无意义。
标签: objective-c cocoa reflection nsview introspection