2012-01-03 67 views
1

我目前使用的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

+0

什么类型是'self.horizMenu'?如果它不是一个响应'buttonTapped:'的类,你会得到这个警告。你也不需要那个类型转换为'id'。 – 2012-01-03 01:09:04

+0

self.horizMenu是MKHorizMenu ... – barfoon 2012-01-03 01:10:03

+0

好的。但'MKHorizMenu'没有一个名为'buttonTapped'的实例方法(至少在头文件中,这是你的代码的其余部分必须继续提供它的信息)。你确定你应该直接调用这个方法吗? – 2012-01-03 01:11:56

回答

1

您可以通过将buttonTapped:的方法声明添加到该类的头文件中来停止警告。

+0

非常感谢。 – barfoon 2012-01-03 01:22:57

相关问题