about TableView & xib[Basic]

TableView初体验感悟:UITableView只是一个UI控件,就像Label和Button。别怕

初始化操作

  1. 新建一个CocoaTouch Class(SubClass of ViewController && 勾上Also create XIB file)


    about TableView & xib[Basic]_第1张图片
    image

    Of Course 如果已经有ViewController 就直接创建一个View

  2. 从Object Library中拉入UITableView,在对应的XXXViewController中实例化UITableView。
    按住Ctrl点击拉入XXXViewController.h。填入基本信息,这里我将它命名为theTableView。
    about TableView & xib[Basic]_第2张图片
    image

    点击Connect后 xcode会自动写入property声明

@property (weak, nonatomic) IBOutlet UITableView *theTableView;

3.  设置DataSource和Delegate  
    选择TableView,CTRL+拖动连接到File‘s Owner。 
    ![image](http://upload-images.jianshu.io/upload_images/669709-7d0455bb0fe4f0ee.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
    选择DataSource&&Delegate  
    ![image](http://upload-images.jianshu.io/upload_images/669709-7133b421d1f864b2.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
    这里的操作相当于执行  
    ```
        self.theTableView.delegate = self;  
        self.theTbaleView.dataSource = self;
        ```
    
### 代码实现细节
1. 在xxxViewController.m中实现UITableViewControllerDelegate和UITableViewControllerDataSource协议,并且定义一个NSMutableArray实例变量instance variable,命名为_sources

@interface shareSourcesViewController (){
NSMutableArray *_sources;
}

    在-viewDidLoad中初始化_infoArray数组内容

  • (void)viewDidLoad {
    [super viewDidLoad];
    //设置theTableView的数据源
    _sources = [[NSMutableArray alloc]initWithObjects:@"ZERO",@"one",@"two",@"three", nil];
    }```
  1. 实现协议中代理方法
    • 返回列表行数 这里我们返回_sources数组个数
      -(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
      return [_sources count];
      }
    • 要设置列表显示的内容
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
    static NSString *simpleIdentify = @"SimpleIdentify";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:simpleIdentify];
    if (cell == NULL) {
        cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:simpleIdentify];
    }
    cell.textLabel.text = [_sources objectAtIndex:indexPath.row];
    return cell;
}
> 这里说一个技巧,不需要记住所有的名字,只需要记住它的返回值,其他的Xcode会帮助显示完全。你所需要的只是知道几个单词的意思,然后选择

end:那么就可以运行了:),效果图如下:

about TableView & xib[Basic]_第3张图片
image

你可能感兴趣的:(about TableView & xib[Basic])