如何在Multi View应用程序中使用UITableView

时间:2012-05-04 08:52:50

标签: ios model-view-controller uitableview multiview

我有一些其他的viewcontroller触发另一个viewcontroller,它有UItableView作为subView我的代码跟随两个文件.h,.m

当我使用基于单一视图的应用程序使用此代码时,它工作正常,但当我使用两个视图检查时,第一个是logingscreen n使用此调用第二个nib文件

Viewcomment *b=[[SimpleTableViewController alloc] initWithNibName:@"SimpleTableViewController" bundle:nil];
[self presentModalViewController:b animated:YES];

self.window= [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Override point for customization after application launch.
self.viewController = [[Viewcomment alloc] initWithNibName:@"Viewcomment" bundle:nil];
self.window.rootViewController = self.viewController;
[self.window makeKeyAndVisible];

它显示“SIGABRT”!!! 我哪里错了?

.h文件:

#import <UIKit/UIKit.h>

@interface SimpleTableViewController : UIViewController <UITableViewDelegate,UITableViewDataSource>{
    NSArray *listData;
}

@property(nonatomic, retain) NSArray *listData; 

@end

.m文件

#import "SimpleTableViewController.h"

@implementation SimpleTableViewController
@synthesize listData;


- (void)viewDidLoad {
    NSArray *array = [[NSArray alloc] initWithObjects:@"iPhone", @"iPod", @"iPad",nil];
    self.listData = array;
        [super viewDidLoad];


}

 - (void)didReceiveMemoryWarning {
         [super didReceiveMemoryWarning];


}

- (void)viewDidUnload {

}


- (void)dealloc {

}

#pragma mark - 
#pragma mark Table View Data Source Methods


- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    return [self.listData count];
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

    static NSString *SimpleTableIdentifier = @"SimpleTableIdentifier";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier: SimpleTableIdentifier];
    if (cell == nil) { cell =  [[UITableViewCell alloc]
                                initWithStyle:UITableViewCellStyleDefault reuseIdentifier:SimpleTableIdentifier]   ;
    }
    NSUInteger row = [indexPath row]; cell.textLabel.text = [listData objectAtIndex:row]; return cell;

}


@end

1 个答案:

答案 0 :(得分:0)

你的遗失:

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
来自你的UITableViewDataSource的

会导致崩溃。

如果那不起作用,请确保视图在视图控制器的nib文件中连接,并确保UITableView正确连接到数据源。