我启动了一个标签式应用程序项目,在我的第一个视图中我想获得一个填充列表,所以我声明了一个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上显示错误,要求用“;”替换“;” 任何帮助建议改善?
感谢您的时间
答案 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连接