Cocoa touch UINavigationController推送视图

Cocoa touch UINavigationController推送视图,cocoa-touch,Cocoa Touch,抱歉-这可能是一个简单的问题,我对iPhone的开发还不熟悉,但我的头脑仍然围绕着视图和视图控制器 我有一个NavigationViewController,可以在连接到条形按钮项的RootViewController中使用以下方法推送视图: - (IBAction)switch:(id)sender { NSLog(@"Swith..."); LibraryViewController *varLibraryViewController = [[LibraryV

抱歉-这可能是一个简单的问题,我对iPhone的开发还不熟悉,但我的头脑仍然围绕着视图和视图控制器

我有一个NavigationViewController,可以在连接到条形按钮项的RootViewController中使用以下方法推送视图:

- (IBAction)switch:(id)sender {
        NSLog(@"Swith...");
        LibraryViewController *varLibraryViewController = [[LibraryViewController alloc] initWithNibName:@"LibraryViewController" bundle:nil];
        [[self navigationController] pushViewController:varLibraryViewController animated:YES];
    }
我想从当前加载的同一视图上的按钮调用这个方法。基本上,我想让顶部的条形按钮调用与视图上的按钮相同的方法。我想知道如何从ViewController加载的视图中调用ViewController中的方法。希望这是有道理的


我是否需要创建RootViewController的实例?我想这已经被实例化了。谢谢。

您需要在头文件中将您的方法声明为iAction:

-(iAction)myMethod:(id)发送方;

保存标题,然后切换到界面生成器。右键单击工具栏按钮,然后从
选择器
标记拖动到视图控制器对象(可能是文件所有者)。当您发布时,应向您提供可用操作的弹出菜单,并且应可选择
myMethod


如果未获得此弹出窗口,则可能需要确保文件所有者类设置正确:在文件窗口中选择文件所有者,然后从菜单中选择“工具”>“身份检查器”。在inspector中,在类字段中键入视图控制器的类。

您需要在头文件中将方法声明为iAction:

-(iAction)myMethod:(id)发送方;

保存标题,然后切换到界面生成器。右键单击工具栏按钮,然后从
选择器
标记拖动到视图控制器对象(可能是文件所有者)。当您发布时,应向您提供可用操作的弹出菜单,并且应可选择
myMethod


如果未获得此弹出窗口,则可能需要确保文件所有者类设置正确:在文件窗口中选择文件所有者,然后从菜单中选择“工具”>“身份检查器”。在inspector中,在类字段中键入视图控制器的类。

顺便说一句,粘贴在那里的代码泄漏了LibraryViewController。您需要在推送它之后显式释放它,或者在创建它时自动释放它。

顺便说一句,您粘贴在那里的代码正在泄漏您的LibraryViewController。您需要在推送后显式释放它,或者在创建时自动释放它。

您的RootViewController应该有自己的xib文件。在这个xib中,RootViewController由名为“文件所有者”的对象表示。您可以将视图上的按钮链接到文件的所有者,就像您可以将内容链接到Main Menu.xib中的RootViewController一样。

您的RootViewController应该有自己的xib文件。在这个xib中,RootViewController由名为“文件所有者”的对象表示。您可以将视图上的按钮链接到文件的所有者,就像您可以将内容链接到Main Menu.xib中的RootViewController一样。

Ben的回答也有帮助,但您的回答更直接地反映了我的需要。Ben的回答也有帮助,但您的回答更直接地反映了我的需要。 - (IBAction) myMethod: (id) sender;