标签:
UITableViewController在实际项目中很重要
程序并不知道有多少数据要放入,所以要通过一个代理来实现数据的传送
#import "ViewController.h"
@interface ViewController ()<UITableViewDelegate,UITableViewDataSource>
/** 数据数组*/
@property(nonatomic,strong) NSArray * dataArray;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
//加载数据
[self loadData];
//加载子视图
[self setSubviews];
}
#pragma mark - 加载数据
- (void)loadData{
self.dataArray= [UIFont familyNames];
}
#pragma mark - 加载子视图
- (void)setSubviews{
UITableView * tableView=[[UITableView alloc] initWithFrame:CGRectMake(0, 0, 375, 667) style:UITableViewStylePlain];
//设置属性代理
tableView.delegate=self;
//设置数据源代理
tableView.dataSource=self;
[self.view addSubview:tableView];
}
#pragma mark - 实现tabView代理方法
#pragma mark * 返回需要展示的数据行数
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
return self.dataArray.count;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
UITableViewCell * cell=[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:nil];
static NSString * identy=@"jrcell";
//上面tableView已经传入了
//先根据当前的标志去缓冲池去寻找对应的cell
UITableViewCell *cell=[tableView dequeueReusableCellWithIdentifier:identy];
if (cell==nil) {
cell=[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:identy];
cell.backgroundColor=[UIColor colorWithRed:arc4random()%255/255.0 green:arc4random()%255/255.0 blue:arc4random()%255/255.0 alpha:1];
NSLog(@"=====%ld",indexPath.row);
}
//根据当前的cell的行数,取出对应的数组数据
NSString * text=self.dataArray[indexPath.row];
//将数据赋值给cell
cell.textLabel.text=text;
cell.textLabel.font=[UIFont fontWithName:text size:18];
return cell;
}
@end
标签:
原文地址:http://www.cnblogs.com/gzoof/p/5586844.html