0
我是iPhone开发新手。我的应用程序正在动态创建按钮,从我的数据模型开始。该模型不仅仅是一个简单的列表;它是一棵树。我需要一些方法将创建的按钮关联到该数据模型,以便当单击按钮时,我知道它对应的模型的哪一部分。如何将UIButton链接到我的数据对象? (iPhone/Objective C)
在Windows上,大多数UI控件都有一个“标记”字段,您可以在其中放置自定义数据。使用类似的模式,我想在iPhone上做的是这样的:
- (void)createMyButton:(MyModel*)foo
{
UIButton* button = <insert creation code here>
[button addTarget:self action:@selector(handleCreatedButtonTouch:) ...];
button.tag = foo;
}
- (void)handleCreatedButtonTouch:(id)sender
{
UIButton* button = (UIButton*)sender;
MyModel* foo = (MyModel*)(button.tag);
[foo userTouchedMyButton];
}
我找不到苹果文档中这样的字段的任何提及。你如何做iPhone的大师呢?再一次,我没有任何简单的索引到我的数据模型的方法,并且对整个数据模型进行枚举以找到匹配似乎是非常错误的。
This Works,thanks!我再次浏览文档,并在MacOS X文档中找到了“NSControl”,但不是iPhone的“UIControl”。那是怎么回事?文档关闭了吗? – AndrewS 2010-07-04 03:21:44
有时,您必须深入研究文档以找到您要查找的内容。 'UIButton'继承自'UIControl','UIControl'继承自'UIView','UIView'具有'tag'属性。您可以将其视为:UIControl:UIView:UIResponder:NSObject,其中UIView支持'tag'。 – 2010-07-06 19:33:26
为什么要创建一个新对象?如果一个人想要通过一个现有的对象呢? – user102008 2011-04-06 23:01:10