我目前使用的MKHorizMenu
类找到here,我试图理解为什么我得到一个实例方法找不到消息。为什么我在这里得到'实例方法未找到'的消息?
我试图让程序在编程上做相当于点击视图控制器第一次加载的项目。
我的代码:
// Actually select the item
[self.horizMenu.itemSelectedDelegate horizMenu:self.horizMenu itemSelectedAtIndex:0];
// Tap the button (change its background image etc)
NSArray *subs = [self.horizMenu subviews];
[self.horizMenu buttonTapped:(id)[subs objectAtIndex:0]]; // guilty line
警告:
warning: instance method '-buttonTapped:' not found (return type defaults to 'id')
在MKHorizMenu
类的方法被定义为:
-(void) buttonTapped:(id) sender
当我运行代码时,它会根据需要执行 - 它看起来好像第一个按钮已被点击,并且第一个项目被选中。
为什么我会收到此警告?如何在这里正确呼叫buttonTapped
?
什么类型是'self.horizMenu'?如果它不是一个响应'buttonTapped:'的类,你会得到这个警告。你也不需要那个类型转换为'id'。 – 2012-01-03 01:09:04
self.horizMenu是MKHorizMenu ... – barfoon 2012-01-03 01:10:03
好的。但'MKHorizMenu'没有一个名为'buttonTapped'的实例方法(至少在头文件中,这是你的代码的其余部分必须继续提供它的信息)。你确定你应该直接调用这个方法吗? – 2012-01-03 01:11:56