iphone实现一个最简单的TableView

1. 打开xcode,依次点击菜单栏的File -> New Project -> Application -> View-based Application

 

2. Choose -> 输入project名称 SimpleTableView -> Save

 

3. 双击Resources组(这里不叫文件夹,叫Group组)展开该组。

 

4. 双击 SimpleTableViewViewController.xib,按下shift + command + L快捷键,显示出来了Library面板。

 

5. 当按下了shift + command + L时,焦点会在Library面板底部的搜索框内,直接输入Table,  

 

    把Table View拖到刚才打开的View窗口中,然后按下command + 2快捷键,

扫描二维码关注公众号,回复: 691432 查看本文章

 

    把 dataSource、delegate拖到xib窗口中的 File's Owner中,按下command + S保存。

 

6. 然后双击Classes组,单击 SimpleTableViewViewController.h 文件,

 

    @interface SimpleTableViewViewController : UIViewController {

 

    把上面这行改成下面这行

@interface SimpleTableViewViewController : UIViewController<UITableViewDataSource, UITableViewDelegate> {

  然后加入成员变量m_data,是TableView待会要显示的数据。

 

    代码如下:

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

 7. 单击 SimpleTableViewViewController.m 文件

 

    在 @implementation SimpleTableViewViewController 下面加如下一行代码

 

@synthesize m_data;  

 8. 把 SimpleTableViewViewController.m 文件中的 viewDidLoad 函数的注释去掉并加入以下代码

// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
- (void)viewDidLoad {
	NSArray *arr = [[NSArray alloc] initWithObjects: @"桔子", @"雪梨", @"毛桃", @"李子", @"荔枝", @"柚子", @"芒果", @"菠萝", @"草莓", @"西瓜", nil];
	
	self.m_data = arr;
	[arr release];
    [super viewDidLoad];
}

 9. 最后在 SimpleTableViewViewController.m 文件最下面 @end 之前,加入以下代码

#pragma mark -
#pragma mark Table View Data Source Methods
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
	return [m_data count];
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
	static NSString *TableViewDynamicLoadIdentifier = @"TableViewDynamicLoadIdentifier";
	
	UITableViewCell *pCell = [tableView dequeueReusableCellWithIdentifier:TableViewDynamicLoadIdentifier];
	if (pCell == nil)
	{
		pCell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:TableViewDynamicLoadIdentifier] autorelease];
	}
	
	NSInteger nRow = [indexPath row];
	pCell.textLabel.text = [m_data objectAtIndex:nRow];
	
	return pCell;
}

 10. 编译并运行后的效果如下图如示:

 

猜你喜欢

转载自duchengjiu.iteye.com/blog/1851864