IOS第七天(5:UiTableView 汽車品牌,複雜模型分組展示,A-Z索要列表) (2015-08-05 14:03)

來源:互聯網
上載者:User

標籤:

複雜模型分組展示

#import "HMViewController.h"#import "HMCarGroup.h"#import "HMCar.h"@interface HMViewController () <UITableViewDataSource>@property (nonatomic, strong) NSArray *carGroups;@property (nonatomic, strong) UITableView *tableView;@end@implementation HMViewController- (UITableView *)tableView{    if (_tableView == nil) {        _tableView = [[UITableView alloc] initWithFrame:self.view.bounds style:UITableViewStylePlain];        _tableView.dataSource = self;                [self.view addSubview:_tableView];    }    return _tableView;}- (NSArray *)carGroups{    if (_carGroups == nil) {        _carGroups = [HMCarGroup carGroups];    }    return _carGroups;}- (void)viewDidLoad{    [super viewDidLoad];    // 調用tableView添加到視圖    [self tableView];}#pragma mark - 資料來源方法// 分組總數- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{    return self.carGroups.count;}// 每一組的總數- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{    HMCarGroup *group = self.carGroups[section];        return group.cars.count;}// 儲存格- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{    // 可重用標示符    static NSString *ID = @"Cell";        // 讓表格緩衝區尋找可重用cell    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:ID];        // 如果沒有找到可重用cell    if (cell == nil) {        // 執行個體化cell        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:ID];    }        // 設定cell內容    // 1> 取出資料模型    HMCarGroup *group = self.carGroups[indexPath.section];    HMCar *car = group.cars[indexPath.row];        // 2> 設定資料    cell.imageView.image = [UIImage imageNamed:car.icon];    cell.textLabel.text = car.name;        return cell;}// 標題- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section{    // 找到group    HMCarGroup *group = self.carGroups[section];        return group.title;}// 右側索引列表- (NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView{    // 索引數組中的"內容",跟分組無關    // 索引數組中的下標,對應的是分組的下標//    return @[@"哇哈哈", @"hello", @"哇哈哈", @"hello", @"哇哈哈", @"hello", @"哇哈哈", @"hello"];        // 返回self.carGroup中title的數組//    NSMutableArray *arrayM = [NSMutableArray array];//    for (HMCarGroup *group in self.carGroups) {//        [arrayM addObject:group.title];//    }//    return arrayM;        // KVC是cocoa的大招    // 用來間接擷取或者修改對象屬性的方式    // 使用KVC在擷取數值時,如果指定對象不包含keyPath的"鍵名",會自動進入對象的內部尋找    // 如果取值的對象是一個數組,同樣返回一個數組    NSArray *array = [self.carGroups valueForKeyPath:@"cars.name"];    NSLog(@"%@", array);        return [self.carGroups valueForKeyPath:@"title"];}@end

 

IOS第七天(5:UiTableView 汽車品牌,複雜模型分組展示,A-Z索要列表) (2015-08-05 14:03)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.