TableView进入tabBarController

时间:2012-04-12 09:37:34

标签: iphone ios uitableview

我启动了一个标签式应用程序项目,在我的第一个视图中我想获得一个填充列表,所以我声明了一个NSArray如下:

@interface agrospineFirstViewController : UIViewController <UITableViewDelegate     ,UITableViewDataSource>
{
NSArray  *JournalList;
}
@property (nonatomic,retain) NSArray *JournalList;
@end

我在.m上添加了以下内容:

[super viewDidLoad];

//initialisation de la liste
JournalList = [NSArray arrayWithObjects:@"journal1",@"journal2",nil];


//initialisation du table View 
UITableView* tableView=[[UITableView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]style:UITableViewStylePlain];


//population de la vue


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

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *MyIdentifier = @"MyIdentifier";

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:MyIdentifier];

if (cell == nil)

    cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:MyIdentifier];

// Configuration de la cellule

NSString *cellValue = [JournalList objectAtIndex:indexPath.row];
cell.textLabel.text = cellValue;
return cell;

}

我还将表格列入视图...但仍然在numberOfRowsInSection上显示错误,要求用“;”替换“;” 任何帮助建议改善?

感谢您的时间

2 个答案:

答案 0 :(得分:2)

我认为你还没有像这样关闭 viewDidLoad 方法:

- (void)viewDidLoad {
  [super viewDidLoad];

  //initialisation de la liste
  JournalList = [NSArray arrayWithObjects:@"journal1",@"journal2",nil];


  //initialisation du table View 
  UITableView* tableView=[[UITableView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]style:UITableViewStylePlain];


  //population de la vue
}

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

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
  static NSString *MyIdentifier = @"MyIdentifier";

  UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:MyIdentifier];

  if (cell == nil)

    cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:MyIdentifier];

  // Configuration de la cellule

  NSString *cellValue = [JournalList objectAtIndex:indexPath.row];
  cell.textLabel.text = cellValue;
  return cell;

}

答案 1 :(得分:2)

你不需要这个  UITableView* tableView=[[UITableView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]style:UITableViewStylePlain];

只需将表添加到viewController并在appDelegate类上添加该viewController名称就像这样

UIViewController *homeViewController = [[[HomeViewController alloc] initWithNibName:@"HomeViewController" bundle:nil] autorelease];
self.tabBarController = [[[UITabBarController alloc] init] autorelease];
self.tabBarController.viewControllers = [NSArray arrayWithObjects:homeViewController,nil];

只需在xib类中提供delagate和datasource连接