我正在使用三个选项卡加上一个小视图,其中我创建了一种包含一些信息和一些按钮的TopBar的应用程序。找不到方法
在主应用程序委托我定义:
- (void)applicationDidFinishLaunching:(UIApplication *)application
{
...
// Add the tab bar controller's current view as a subview of the window
[window addSubview:tabBarController.view];
//here we add the topBar:
topBarViewController = [TopBarViewController instance];
topBarViewController.appDelegate = self;
[window addSubview:topBarViewController.view];
...
}
- (void)showReplyView
{
self.tabBarController.selectedViewController =
[self.tabBarController.viewControllers objectAtIndex:2];
}
,你可以看到我设置.appDelegate
在顶栏做一些回调在顶栏(的代码,即:当我想改变标签目前可视化)
现在在我的TopBarViewController.h我:
@interface TopBarViewController : UIViewController {
MyAppDelegate *appDelegate;
...
}
@property (nonatomic,retain) MyAppDelegate *appDelegate;
-(void)testMethod;
,并在.m文件:
@implementation TopBarViewController
@synthesize appDelegate;
...
-(void)testMethod{
[appDelegate showReplyView];
}
...
当我编译项目时,编译器告诉我showReplyView方法不存在。 我试了一切,我敢肯定,没有错别字错误...
是否有可能我不能引用委托? 感谢任何人会帮助我...
是否应用程序委托在ivar和属性定义中具有不同类型的拼写错误?并且不应该将参考存储到委托 - 更好地使用[[UIApplication sharedApplication]委托]方法 – Vladimir 2010-07-21 11:31:50
是的,这是一个错字...抱歉。 并感谢您的建议,但我更愿意这样做,所以我不必施放[UIApplication sharedApplication]委托]的结果... – enrico 2010-07-21 12:11:45