iPhone Xcode - Навигационный контроллер на втором просмотре XIB? - PullRequest
0 голосов
/ 13 апреля 2010

Все хорошо, мой навигационный контроллер отображает мой пункт «Меню 1», но когда я нажимаю на него, появляется проблема с:

[self.navigationController pushViewController: c animated: YES]; строка не соединяется с точкой останова в файле myClass. так что я думаю, что я не присоединился к чему-то? но не знаете что?

Мое второе представление с контроллером навигации не имеет прямого доступа к AppDelegate, поэтому я не могу присоединиться к нему, как я вижу в некоторых руководствах.

1-й вид - это просто кнопка при звонках:

[self presentModalViewController:mainViewController animated:YES];

мой второй заголовок View '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];
}

Также в Интерфейсном Разработчике я перетащил Navigation Controller на свой новый XIB и изменил класс Root View Controller на MainViewController, а также подключил соединитель Владельца файлов к Navigation Controller для подключения к выходу navController.

Спасибо за ваше время.

1 Ответ

0 голосов
/ 14 апреля 2010

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
}

Так что отсутствие точки останова для попадания на этой странице говорит мне, что я что-то пропустил. Поскольку это отдельный файл XIB из MainWindow.XIB, у меня нет доступа к делегату приложения.

Так что на самом деле мне нужно знать, как подключить Navigation Controller к файлу XIB второго просмотра, когда у меня нет делегата приложения в конструкторе интерфейса. Все руководства показывают, что контроллер навигации подключен к этому делегату приложения.

Программа выполняет файл и запускается, я получаю 1-е «Меню 1» в списке, но затем, когда я пытаюсь заново заполнить тот же список навигации моими новыми пунктами меню myClass «тест 1», «тест 2» он не попадает в событие viewDidLoad.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...