亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

IOS開發之表視圖添加索引

2019-11-14 19:59:54
字體:
來源:轉載
供稿:網友

我們要實現的效果如下。

   

 

1.修改ControlView.h,即添加變量dict,用于存儲TabelView的數據源。

Cpp代碼 復制代碼 收藏代碼
  1. #import <UIKit/UIKit.h>  
  2.   
  3. @interface IkrboyViewController5 : UIViewController{  
  4.     NSMutableDictionary *dict;  
  5. }  
  6.   
  7. @end  
#import <UIKit/UIKit.h>@interface IkrboyViewController5 : UIViewController{    NSMutableDictionary *dict;}@end

 2.在ControlView.m添加如下修改

Cpp代碼 復制代碼 收藏代碼
  1. - (void)viewDidLoad  
  2. {  
  3.     [super viewDidLoad];  
  4.     [self initTableViewData];  
  5.     // Do any additional setup after loading the view.  
  6. }  
  7.   
  8. -(void)initTableViewData{  
  9.     NSBundle *bundle = [NSBundle mainBundle];  
  10.     NSString *plistPath = [bundle pathForResource:@"user_head" ofType:@"plist"];  
  11.     NSArray *dataArr = [[NSArray alloc] initWithContentsOfFile:plistPath];  
  12.     //將所有數據分為三組  
  13.     NSMutableArray *arr1 = [NSMutableArray array];  
  14.     NSMutableArray *arr2 = [NSMutableArray array];  
  15.     NSMutableArray *arr3 = [NSMutableArray array];  
  16.       
  17.     dict = [NSMutableDictionary dictionary];  
  18.     [dict setObject:arr1 forKey:@"Group1"];  
  19.     [dict setObject:arr2 forKey:@"Group2"];  
  20.     [dict setObject:arr3 forKey:@"Group3"];  
  21.       
  22.     //設置劃分數據的依據,即根據index分三組,index為0-1的為第一組,2-4為第二組,5為第三組  
  23.     for(NSInteger index = 0; index < [dataArr count]; index++){  
  24.         NSDictionary *item = [dataArr objectAtIndex:index];  
  25.         if(index<2){  
  26.             [arr1 addObject:item];  
  27.         }  
  28.         else if(index>=2&&index<5){  
  29.             [arr2 addObject:item];  
  30.         }  
  31.         else if(index>=5){  
  32.             [arr3 addObject:item];  
  33.         }  
  34.     }  
  35. }  
- (void)viewDidLoad{    [super viewDidLoad];    [self initTableViewData];	// Do any additional setup after loading the view.}-(void)initTableViewData{    NSBundle *bundle = [NSBundle mainBundle];    NSString *plistPath = [bundle pathForResource:@"user_head" ofType:@"plist"];    NSArray *dataArr = [[NSArray alloc] initWithContentsOfFile:plistPath];    //將所有數據分為三組    NSMutableArray *arr1 = [NSMutableArray array];    NSMutableArray *arr2 = [NSMutableArray array];    NSMutableArray *arr3 = [NSMutableArray array];        dict = [NSMutableDictionary dictionary];    [dict setObject:arr1 forKey:@"Group1"];    [dict setObject:arr2 forKey:@"Group2"];    [dict setObject:arr3 forKey:@"Group3"];        //設置劃分數據的依據,即根據index分三組,index為0-1的為第一組,2-4為第二組,5為第三組    for(NSInteger index = 0; index < [dataArr count]; index++){        NSDictionary *item = [dataArr objectAtIndex:index];        if(index<2){            [arr1 addObject:item];        }        else if(index>=2&&index<5){            [arr2 addObject:item];        }        else if(index>=5){            [arr3 addObject:item];        }    }}

 3.初始化TableView

Cpp代碼 復制代碼 收藏代碼
  1. //分為多少個分組  
  2. - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView  
  3. {  
  4.     return [[dict allKeys] count];  
  5. }  
  6. //每個分組的數據單元個數  
  7. - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section  
  8. {  
  9.     switch(section)  
  10.     {  
  11.         case 0:  
  12.         {  
  13.             return [[dict objectForKey:@"Group1"] count];  
  14.         }  
  15.         case 1:  
  16.         {  
  17.             return [[dict objectForKey:@"Group2"] count];  
  18.         }  
  19.         case 2:  
  20.         {  
  21.             return [[dict objectForKey:@"Group3"] count];  
  22.         }  
  23.     }  
  24.     return 0;  
  25. }  
  26. //分組的標題,不實現下面的方法,不顯示分組標題  
  27. - (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section  
  28. {  
  29.     //dict allKeys取出的key arr無順序,需進行排序  
  30.     NSArray *arr = [[dict allKeys] sortedArrayUsingSelector:@selector(compare:)];  
  31.     return [arr objectAtIndex:section];  
  32. }  
  33. //列表右側的索引提示,不實現下面的方法,不顯示右側索引  
  34. -(NSArray *) sectionIndexTitlesForTableView: (UITableView *) tableView  
  35. {  
  36.     //dict allKeys取出的key arr無順序,需進行排序  
  37.     NSArray *arr = [[dict allKeys] sortedArrayUsingSelector:@selector(compare:)];  
  38.     return arr;  
  39. }  
  40.   
  41. - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath  
  42. {  
  43.     static NSString *CellIdentifier = @"myTableCell";  
  44.     UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];  
  45.       
  46.     NSUInteger row = [indexPath row];  
  47.     NSUInteger section = [indexPath section];  
  48.     NSArray *arr;  
  49.       
  50.     switch (section) {  
  51.         case 0:  
  52.             arr = [dict objectForKey:@"Group1"];  
  53.             break;  
  54.         case 1:  
  55.             arr = [dict objectForKey:@"Group2"];  
  56.             break;  
  57.         case 2:  
  58.             arr = [dict objectForKey:@"Group3"];  
  59.             break;  
  60.         default:  
  61.             break;  
  62.     }  
  63.       
  64.     NSDictionary *rowDict = [arr objectAtIndex:row];  
  65.     cell.textLabel.text =  [rowDict objectForKey:@"itemName"];  
  66.     NSLog(@"cell.label.text =  %@",[rowDict objectForKey:@"itemName"]);  
  67.       
  68.     NSString *imagePath = [rowDict objectForKey:@"itemImagePath"];  
  69.     cell.imageView.image = [UIImage imageNamed:imagePath];  
  70.     NSLog(@"cell.image.image  =  %@",imagePath);  
  71.       
  72.     cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;  
  73.       
  74.     return cell;  
  75. }  
  76.   
  77. //選中Cell響應事件  
  78. - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{  
  79.     [tableView deselectRowAtIndexPath:indexPath animated:YES];//選中后的反顯顏色即刻消失  
  80.     NSUInteger row = [indexPath row];  
  81.     NSUInteger section = [indexPath section];  
  82.     NSArray *arr;  
  83.       
  84.     switch (section) {  
  85.         case 0:  
  86.             arr = [dict objectForKey:@"Group1"];  
  87.             break;  
  88.         case 1:  
  89.             arr = [dict objectForKey:@"Group2"];  
  90.             break;  
  91.         case 2:  
  92.             arr = [dict objectForKey:@"Group3"];  
  93.             break;  
  94.         default:  
  95.             break;  
  96.     }  
  97.       
  98.     NSDictionary *rowDict = [arr objectAtIndex:row];  
  99.     NSString *userName =  [rowDict objectForKey:@"itemName"];  
  100.     NSLog(@"userName=%@",userName);  
  101. }  
//分為多少個分組- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{	return [[dict allKeys] count];}//每個分組的數據單元個數- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{    switch(section)    {        case 0:        {            return [[dict objectForKey:@"Group1"] count];        }        case 1:        {            return [[dict objectForKey:@"Group2"] count];        }        case 2:        {            return [[dict objectForKey:@"Group3"] count];        }    }    return 0;}//分組的標題,不實現下面的方法,不顯示分組標題- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section{    //dict allKeys取出的key arr無順序,需進行排序    NSArray *arr = [[dict allKeys] sortedArrayUsingSelector:@selector(compare:)];	return [arr objectAtIndex:section];}//列表右側的索引提示,不實現下面的方法,不顯示右側索引-(NSArray *) sectionIndexTitlesForTableView: (UITableView *) tableView{    //dict allKeys取出的key arr無順序,需進行排序    NSArray *arr = [[dict allKeys] sortedArrayUsingSelector:@selector(compare:)];    return arr;}- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{    static NSString *CellIdentifier = @"myTableCell";    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];        NSUInteger row = [indexPath row];    NSUInteger section = [indexPath section];    NSArray *arr;        switch (section) {        case 0:            arr = [dict objectForKey:@"Group1"];            break;        case 1:            arr = [dict objectForKey:@"Group2"];            break;        case 2:            arr = [dict objectForKey:@"Group3"];            break;        default:            break;    }        NSDictionary *rowDict = [arr objectAtIndex:row];    cell.textLabel.text =  [rowDict objectForKey:@"itemName"];    NSLog(@"cell.label.text =  %@",[rowDict objectForKey:@"itemName"]);        NSString *imagePath = [rowDict objectForKey:@"itemImagePath"];    cell.imageView.image = [UIImage imageNamed:imagePath];    NSLog(@"cell.image.image  =  %@",imagePath);        cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;        return cell;}//選中Cell響應事件- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{    [tableView deselectRowAtIndexPath:indexPath animated:YES];//選中后的反顯顏色即刻消失    NSUInteger row = [indexPath row];    NSUInteger section = [indexPath section];    NSArray *arr;        switch (section) {        case 0:            arr = [dict objectForKey:@"Group1"];            break;        case 1:            arr = [dict objectForKey:@"Group2"];            break;        case 2:            arr = [dict objectForKey:@"Group3"];            break;        default:            break;    }        NSDictionary *rowDict = [arr objectAtIndex:row];    NSString *userName =  [rowDict objectForKey:@"itemName"];    NSLog(@"userName=%@",userName);}

 

 


上一篇:iOS開發之WebView

下一篇:objective-c初寫

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲三级免费看| 少妇精69xxtheporn| 欧美午夜精品久久久久久人妖| 日韩视频在线免费观看| 美女av一区二区| 91免费精品国偷自产在线| 欧美在线免费视频| 国产亚洲精品va在线观看| 亚洲a在线播放| 亚洲男人第一网站| 国产成人激情视频| 亚洲高清久久久久久| 欧美黄色片在线观看| 国内外成人免费激情在线视频| 欧美午夜影院在线视频| 亚洲精品av在线| 欧美日韩中文字幕在线视频| 国产精品视频最多的网站| 日韩美女主播视频| 日韩一区二区久久久| 亚洲欧美综合区自拍另类| 国产一区二区三区精品久久久| 国产精品精品国产| 亚洲欧美日韩一区在线| 97色在线视频| 久久久久中文字幕| 91sa在线看| 中文字幕av一区二区| 欧美一级淫片videoshd| 欧美日韩免费一区| 色综合导航网站| 亚洲国语精品自产拍在线观看| 色狠狠久久aa北条麻妃| 亚洲成人网av| 成人国产精品色哟哟| 欧美精品videosex性欧美| 欧美伊久线香蕉线新在线| 欧美一区二区三区免费视| 另类美女黄大片| 91亚洲一区精品| 久久精品国亚洲| 91精品国产电影| 久久久噜噜噜久久| 精品国偷自产在线视频99| 国产精品美女免费看| 国产亚洲欧美日韩美女| 91热精品视频| 日韩在线视频观看正片免费网站| 国产ts人妖一区二区三区| 亚洲一区二区三区毛片| 在线观看日韩视频| 久久久久久欧美| 亚洲影视九九影院在线观看| 91精品在线一区| 日韩在线精品一区| 日本欧美一二三区| 中文字幕国内精品| 美女av一区二区三区| 亚洲一区二区三区四区在线播放| 亚洲午夜精品久久久久久久久久久久| 日韩在线观看免费高清| 国产精品久久一| 日韩在线观看视频免费| 久久在精品线影院精品国产| 精品国产区一区二区三区在线观看| 爱福利视频一区| 精品日韩美女的视频高清| www日韩中文字幕在线看| 国产一区视频在线| 国产免费亚洲高清| 国产精品午夜国产小视频| 日韩美女免费视频| 欧美极品欧美精品欧美视频| 久久免费视频这里只有精品| 欧美中文在线观看国产| 精品久久久久久久久久久久久| 精品香蕉一区二区三区| 亚洲成人黄色在线观看| 国产精选久久久久久| 国产精品丝袜视频| 爱福利视频一区| 在线电影av不卡网址| 国产美女91呻吟求| 久久香蕉国产线看观看av| 欧美最顶级的aⅴ艳星| 久久久久久久国产精品| 国产精品尤物福利片在线观看| 久久久久久久国产精品视频| 丰满岳妇乱一区二区三区| 久久久久久国产精品久久| 久久久久久成人精品| 国产精品69精品一区二区三区| 日韩高清电影免费观看完整版| 国产成人精品免费视频| 亚洲精品大尺度| 欧美重口另类videos人妖| 国产精品久久久久91| 亚洲欧美资源在线| 欧美成人免费全部观看天天性色| 国产亚洲在线播放| 亚洲一区二区日本| 国产精品白嫩初高中害羞小美女| 久久在线观看视频| 亚洲国产精品悠悠久久琪琪| 亚洲国产91精品在线观看| 日韩av影片在线观看| 亚洲精品av在线播放| 亚洲电影免费观看高清完整版| 亚洲欧美国产精品va在线观看| 77777少妇光屁股久久一区| 日韩av色在线| 国产综合福利在线| 亚洲精品国产精品国自产观看浪潮| 国产精品狠色婷| 丝袜亚洲另类欧美重口| 国产精品免费网站| www欧美日韩| 国产极品jizzhd欧美| 欧美精品videossex性护士| 狠狠综合久久av一区二区小说| 久久成人这里只有精品| 午夜免费久久久久| 欧美香蕉大胸在线视频观看| 国产精品高潮呻吟久久av黑人| 欧美日韩中文在线| 欧美一区二三区| 欧美一级大片在线观看| 色老头一区二区三区| 一本一道久久a久久精品逆3p| 亚洲天堂网站在线观看视频| 国产一区二区三区在线观看视频| 91理论片午午论夜理片久久| 一区二区三欧美| 成人黄在线观看| 久久99久久久久久久噜噜| 欧美黄色性视频| 久久精视频免费在线久久完整在线看| 欧美床上激情在线观看| 亚洲欧美另类人妖| 亚洲天堂av在线播放| 国产精品免费一区豆花| 国产精品日韩欧美大师| 国内精品视频久久| 久久香蕉国产线看观看网| 日韩中文字幕在线免费观看| 少妇高潮久久久久久潘金莲| 成人妇女淫片aaaa视频| 成人激情视频在线播放| 在线视频亚洲欧美| 国产精品视频网址| 亚洲美女又黄又爽在线观看| 国产精品xxx视频| 欧美成人四级hd版| 欧美一级成年大片在线观看| 91精品久久久久久久久中文字幕| 九九热这里只有精品6| 国产在线a不卡| 日韩高清电影好看的电视剧电影| 97精品伊人久久久大香线蕉| 色偷偷亚洲男人天堂| 亚洲人成欧美中文字幕| 欧美中文在线字幕| 91精品久久久久久久久久久| 日韩精品高清视频|