在Xcode 4或更高版本中,它有一个方便的功能,允许我们按CTRL +将对象从界面拖动到.h文件,以快速连接对象与事件方法(假设启用了助理编辑器)。
假设我们在界面中有一个UIButton,我们想为其“内部触摸”添加一个IBAction,我们启用助手窗口并按住/按住CTRL +将按钮拖动到.h文件以快速生成必要的代码。
在弹出式提示框中,假设我们将“连接”设置为“操作”。
在“类型”下拉列表中,我们可以选择“id”或“UIButton”。 < ---这就是我的问题所在。
Xcode 4.2.1中的奇怪之处在于:无论我选择什么,它总是生成代码:“(id)sender”作为参数。
我知道手动将其更改为“(UIButton *)sender”很容易,但是当它总是生成“(id)”时,这个下拉列表的重点是什么?
这是Xcode的错误还是我在这个下拉列表中选择“UIButton”时错过了让它直接生成代码“(UIButton *)sender”的东西?
于2012年2月27日编辑:这已在Xcode 4.3中得到证实
答案 0 :(得分:0)
- (void)action:(id)sender
就是定义动作的方式。理论上,您可以将不同的UI元素连接到同一个动作。在您创建了连接之后,您可以手动将id
更改为您想要的任何类,或者只是在方法内部进行强制转换。