我使用原始方法XML数据可以在rootviewcontroller中显示TableView。当我使用新程序时,它只显示表中没有数据。如何在New Method中显示数据?
原创方法
新方法
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];
}
答案 0 :(得分:0)
如果您在根视图控制器尚不存在的情况下在您的应用委托中调用addBookToList:
,则不会发生任何事情(将消息发送到nil)。存储books数组,并在创建它之后将其传递给根视图控制器,但在将其推入导航控制器的堆栈之前。