UITableView

UITableView初始化后,首先调用数据源方法设置section个数和 cell个数 

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
    return 1;
} // 表视图当中存在secion的个数,默认是1个

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section;
{
    return [_listArray count]; // 2 rows
} // section 中包含row的数量

然后调用

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

方法设置cell样式,indexpath去定位每一个cell,每个cell都会调用此函数初始化cell。随后出现UITableView界面 

代理方法的设置主要处理点击Cell时需要处理的事件 

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    DetailViewController *detailVC = [[DetailViewController alloc] init];
    detailVC.isBaseCell = indexPath.row ? NO : YES;
    [self.navigationController pushViewController:detailVC animated:YES];
    [detailVC release];
} // 当用户选择某一行时

 其中,代码:

[self.navigationController pushViewController:detailVC animated:YES];

self指向 UIViewController,没有navidationController对象,查阅官方文档发现:

The nearest ancestor in the view controller hierarchy that is a navigation controller. (read-only). If the receiver or one of its ancestors is a child of a navigation controller, this property contains the owning navigation controller. This property is nil if the view controller is not embedded inside a navigation controller.

The nearest ancestor in the view controller hierarchy that is a navigation controller.

对这个还是不了解。。。

UINavigationController、UINavigationBar、UIViewController与UINavigationItem之间的关系

UIViewController's navigationController property 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值