2010-04-13 90 views
0

一切都很好,我的导航控制器显示的我的“菜单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出口。

感谢您的时间。

+0

究竟是什么问题?什么“myClass文件中的断点”? – 2010-04-13 15:34:29

+0

当我声明一个数组并将其绑定回导航控制器时,myClass的 - (void)viewDidLoad的第一行。希望这可以帮助。 – Frames84 2010-04-13 15:47:07

+0

所以你在这里粘贴的所有代码都可以正常工作?问题是'MyClass'中的viewDidLoad方法(它似乎是'UITableViewController'的子类)永远不会被调用?也许你应该发布该类的代码,如果问题在那里。 – 2010-04-13 16:44:32

回答

0

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。

相关问题