一、一般过程
1
//
2
//
YYViewController.h
3
//
UITableView Controller
4
//
5
//
Created by 孔医己 on 14-6-2.
6
//
Copyright (c) 2014年 itcast. All rights reserved.
7
//
8
9
#import <UIKit/UIKit.h>
1011@interface YYViewController : UIViewController
1213@end
系统storyboard中默认的控制器为:ViewController
这样的话如果整个程序界面都只是使用UITableView来搭建,那么一般需要完成以下相对繁琐的步骤:
(1)向界面上拖一个UItableview
(2)设置数据源
(3)设置代理
(4)遵守代理协议
上述过程相对繁琐,且还需要手动的设置数据源,代理,遵守协议等,容易遗漏,下面推荐直接使用UITableView Controller。
二、使用UITableView Controller
为了简化操作,推出下面的方法。
即如果在界面上仅仅只是需要用来展示一个UITableView,那么可以让主控制器直接继承于UITableView Controller

1// 2// YYViewController.h 3// UITableView Controller 4// 5// Created by 孔医己 on 14-6-2. 6// Copyright (c) 2014年 itcast. All rights reserved. 7// 8 9#import <UIKit/UIKit.h> 1011@interface YYViewController : UITableViewController 1213@end
直接让控制器继承UITableView controller,然后在storyboard中把以前的界面删掉,拖一个tableview controller就可以了。

注意:需要和主控制器类进行关联。
UITableView Controller里面有个tableview属性,在控制器中通过self.view获取出来的视图就是一个tableview。
即self.view=self.taleview。
且它默认已经把他的协议和数据源都已经实现好了,不再需要进行连线。
1// UITableViewController.h 2// UIKit 3// 4// Copyright (c) 2008-2013, Apple Inc. All rights reserved. 5// 6#import <Foundation/Foundation.h> 7#import <UIKit/UIViewController.h> 8#import <UIKit/UITableView.h> 9#import <UIKit/UIKitDefines.h> 1011// Creates a table view with the correct dimensions and autoresizing, setting the datasource and delegate to self. 12// In -viewWillAppear:, it reloads the table‘s data if it‘s empty. Otherwise, it deselects all rows (with or without animation) if clearsSelectionOnViewWillAppear is YES. 13// In -viewDidAppear:, it flashes the table‘s scroll indicators. 14// Implements -setEditing:animated: to toggle the editing state of the table.1516 NS_CLASS_AVAILABLE_IOS(2_0) @interface UITableViewController : UIViewController <UITableViewDelegate, UITableViewDataSource> 1718 - (id)initWithStyle:(UITableViewStyle)style; 1920 @property(nonatomic,retain) UITableView *tableView; 21 @property(nonatomic) BOOL clearsSelectionOnViewWillAppear NS_AVAILABLE_IOS(3_2); // defaults to YES. If YES, any selection is cleared in viewWillAppear:2223 @property (nonatomic,retain) UIRefreshControl *refreshControl NS_AVAILABLE_IOS(6_0); 2425@end
点击右键,可以发现数据源和代理都已经连好了。

(应该把继承自uiviewcontroller的控制器干掉,重新拖一个tableview controller,和主控制器进行连线。)
原文:http://www.cnblogs.com/zengshuilin/p/5744352.html
【说明】:本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!