iPhone Xcode - 第二个xib视图上的导航控制器?
问题描述:
一切都很好,我的导航控制器显示的我的“菜单1”项目,但是当我点击它似乎是一个问题与:iPhone Xcode - 第二个xib视图上的导航控制器?
[self.navigationController pushViewController:C动画:是];行它不连接到myClass文件中的断点。所以我觉得我还没有加入什么?但不确定是什么?
我的导航控制器的第二个视图不能直接访问AppDelegate,所以无法像我在某些教程中看到的那样加入它。
[self presentModalViewController:mainViewController animated:YES];
我第二次查看 'MainViewController' 头看起来像:
@interface MainViewController :UITableViewController <UITableViewDelegate, UITableViewDataSource>
{
NSArray *controllers;
UINavigationController *navController;
}
@property (nonatomic, retain) IBOutlet UINavigationController *navControllers;
@property (nonatomic, retain) NSArray *controller;
然后,我有我的MainViewController.m
@synthesize controllers;
@synthesize navController;
- (void) viewDidLoad
{
NSMutableArray *array = [[NSMutaleArray alloc] init];
myClass *c = [[myClass alloc] initWithStyle:UITableViewStylePlain];
c.Title = @"Menu 1";
[array addObject:c];
self.Controllers = array;
[array release];
}
点击呼叫时
第一视图仅仅是一个按钮
实施了numberOfRowsInSection和cellForRowAtIndexPath
- (void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
NSUInteger row = [indexPath row];
myClass *c = [self.controllers objectAtIndex:row];
[self.navigationController pushViewController:c animated:YES]; // doesn't load myClass c
// [self.navController pushViewController:c animated:YES];
}
而且在Interface Builder我拖着导航控制器到我的新XIB,改变了根视图控制器类MainViewController也可以在连接文件所有者连接到导航控制器连接navController出口。
感谢您的时间。
答
myClass.h
#import "SecondLevelViewController.h" //This inherts UITableViewController
@class myClass;
@interface myClass : SecondLevelViewController
{
NSArray *list;
myClassDetail *detail;
}
@property (nonatomic, retain) NSArray *list;
myClass.m
#import "myClass.h"
#import "myClassDetail.h"
#import "NavAppDelegate.h"
@implementation myClass
@systjesize list;
- (void) viewDidLoad
{
NSArray *array = [[NSArray alloc] initWithObjects:@"test1",@"test2",nil];
self.list = array;
.. .. ..
//I can't get a break point at this point or in any of the other methods
}
所以没有获得一个破发点在这个页面打告诉我,我已经错过了sometihng。由于这是来自MainWindow.XIB的独立XIB文件,因此我无法访问App Delegate。
所以我真的需要知道如何将导航控制器连接到另一个视图XIB文件,当我没有在界面生成器中的应用程序委托。所有的教程都显示导航控制器连接到这个应用程序委托。
该程序符合文件并运行,我得到列表中的第1个“菜单1”,但是当我尝试使用新的myClass菜单项'test 1','test 2'填充相同的导航列表时 它不会触发事件viewDidLoad。
究竟是什么问题?什么“myClass文件中的断点”? – 2010-04-13 15:34:29
当我声明一个数组并将其绑定回导航控制器时,myClass的 - (void)viewDidLoad的第一行。希望这可以帮助。 – Frames84 2010-04-13 15:47:07
所以你在这里粘贴的所有代码都可以正常工作?问题是'MyClass'中的viewDidLoad方法(它似乎是'UITableViewController'的子类)永远不会被调用?也许你应该发布该类的代码,如果问题在那里。 – 2010-04-13 16:44:32