Перезвоните NSArray в RootViewController - PullRequest
0 голосов
/ 14 октября 2010

Я использую оригинальный метод, данные XML можно показать в rootviewcontroller TableView. Когда я использую новую процедуру, она показывает только таблицу без данных. Как я могу показать данные в новом методе?

Оригинальный метод

  1. appDelegate.m (настройка XML и загрузка данных)
  2. rootviewController.m (используйте nsarray и загрузите данные в табличное представление)

Новый метод

  1. appDelegate.m (настройка XML и загрузка данных)
  2. mainviewController.m (настройка UIVEW & кнопка key), (при нажатии кнопки перейдите к rootviewcontroller.m)
  3. rootviewController.m (используйте nsarray и загрузите данные в табличное представление)

appDeleagte.m

- (void)addbookToList:(NSArray *)books {
[self.rootViewController insertBooks:books];

mainviewcontroller.h

#import <UIKit/UIKit.h>
@class RootViewController;
@interface MainViewController : UIViewController {

IBOutlet RootViewController *rvController; 
}

- (IBAction) startButton;
@end

mainviewcontroller.m

-(IBAction)startPage {
 rvController = [[RootViewController alloc] initWithNibName:@"RootView" bundle:[NSBundle mainBundle]];
 [self.navigationController pushViewController:rvController animated:YES];

rootviewcontroller.m

- (void)viewDidLoad {
[super viewDidLoad];

self.bookList = [NSMutableArray array];

self.tableView.rowHeight = 60.0;

 [self addObserver:self forKeyPath:@"bookList" options:0 context:NULL];
}

1 Ответ

0 голосов
/ 14 октября 2010

Если вы вызовете addBookToList: в своем делегате приложения в то время, когда корневой контроллер представления еще не существует, ничего не произойдет (отправка сообщения на ноль). Сохраните массив books и передайте его корневому контроллеру представления после того, как вы его создали, но перед тем, как поместить его в стек в вашем контроллере навигации.

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