iOS UITableView之帶右側索引

2021-07-08 10:45:12 字數 4890 閱讀 8898

先看效果圖

}//懶載入

-(nsarray *)cargroups

return _cargroups;

}- (void)viewdidload

#pragma mark - tableview 資料來源方法

/**分組總數*/

-(nsinteger)numberofsectionsintableview:(uitableview *)tableview

/**每一組多少行 ,section是第幾組*/

-(nsinteger)tableview:(uitableview *)tableview numberofrowsinsection:(nsinteger)section

/**單元格*/

-(uitableviewcell *)tableview:(uitableview *)tableview cellforrowatindexpath:(nsindexpath *)indexpath

//設定cell 內容

//取出資料模型

nycargroup *group = self.cargroups[indexpath.section];

nycar *car = group.cars[indexpath.row];

//設定資料

cell.imageview.image = [uiimage imagenamed:car.icon];

cell.textlabel.text = car.name;

return cell;

}/**每一組的標題*/

-(nsstring *)tableview:(uitableview *)tableview titleforheaderinsection:(nsinteger)section

/** 右側索引列表*/

-(nsarray *)sectionindextitlesfortableview:(uitableview *)tableview

return arraym;

kvc是cocoa的大招

用來間接獲取或者修改物件屬性的方式

使用kvc在獲取數值時,如果指定物件不包含keypath的"鍵名",會自動進入物件的內部查詢

如果取值的物件是乙個陣列,同樣返回乙個陣列

*//*例如:

nsarray *array = [self.cargroups valueforkeypath:@"cars.name"];

nslog(@"%@", array);

*/return [self.cargroups valueforkeypath:@"title"];

}@end

nycar.h

//

// nycar.h

// 06-汽車品牌帶右側索引

#import

@inte***ce

nycar : nsobject

@property (nonatomic, copy) nsstring *name;

@property (nonatomic, copy) nsstring *icon;

-(instancetype) initwithdict:(nsdictionary *)dict;

+(instancetype) carwithdict:(nsdictionary *)dict;

// 傳入乙個包含字典的陣列,返回乙個hmcar模型的陣列

+(nsarray *) carswitharray:(nsarray *)array;

@end

nycar.m

//

// nycar.m

// 06-汽車品牌帶右側索引

////

#import "nycar.h"

@implementation

nycar

-(instancetype)initwithdict:(nsdictionary *)dict

return

self;

}+(instancetype)carwithdict:(nsdictionary *)dict

+(nsarray *)carswitharray:(nsarray *)array

return arraym;

}- (nsstring *)description

",self

.class, self, self

.name, self

.icon ];

}@end

nycargroup.h

//

// nycargroup.h

// 06-汽車品牌帶右側索引

#import

@inte***ce nycargroup : nsobject

/** 首字母 */

@property (nonatomic, copy) nsstring *title;

/** 車的陣列,存放的是hmcar的模型資料 */

@property (nonatomic, strong) nsarray *cars;

-(instancetype) initwithdict:(nsdictionary *)dict;

+(instancetype) cargroupwithdict:(nsdictionary *)dict;

+(nsarray *) cargroups;

@end

nycargroup.m

//

// nycargroup.m

// 06-汽車品牌帶右側索引

//#import "nycargroup.h"

#import "nycar.h"

@implementation

nycargroup

-(instancetype)initwithdict:(nsdictionary *)dict

return

self;

}+(instancetype)cargroupwithdict:(nsdictionary *)dict

+(nsarray *)cargroups

return arraym;

}- (nsstring *)description

", self

.class, self, self

.title, self

.cars];

}@end

**偶了

實現右側索引:

/* 右側索引列表/

-(nsarray )sectionindextitlesfortableview:(uitableview )tableview

對datasource複習

@required的兩個

/**單元格*/

-(uitableviewcell *)tableview:(uitableview *)tableview cellforrowatindexpath:(nsindexpath *)indexpath

/**每一組多少行 ,section是第幾組*/

-(nsinteger)tableview:(uitableview *)tableview numberofrowsinsection:(nsinteger)section

/*分組總數/

-(nsinteger)numberofsectionsintableview:(uitableview *)tableview

/*每一組的標題/

有可能是你存在兩個類名稱都一樣,也可能是因為你在不同的.m檔案中定義了同樣的const變數。

這類錯誤需要自己看錯誤資訊中給出的大長串路徑,從中找出你的那個重名類或者變數名稱,以此來定位錯誤位置。

}

好了 我只想說,aj自己把**拷貝出來,然後又關了xcode ,最後重新建立了乙個專案,把**不動得放回,就這麼華麗麗的好了。。。。。。。。。。。。

IOS UITableView下拉重新整理

給 uitableview 新增 下拉重新整理 pull refresh 屬性 親愛的,我還是有些不忍心,不過事情的經過是這樣的 cocoa touch 的 官方 sdk 裡,壓根就沒實現這個 pull refresh 的功能。恩,這事真不是賈伯斯手下幹的。然而也不是麻匪幹的。是他幹的,enorme...

iOS UItableview重用機制

重用機制的定義就是乙個節省記憶體的機制,當我們的tableview有100或更多資料是如果沒有重用機制那樣會把記憶體很快佔滿 尤其使大多數我們在cell上面放上,是乙個很佔記憶體的東西 所以我們需要重用機制來解決,重用機制就是在我們螢幕的可顯示範圍內建立cell 其餘的復用這些cell,以我個人的理...

IOS UITableView 實現LOL資料展示

本節重點 了解uitableview 的基本屬性 了解kvc.其實 我也不是很了解 效果圖 示例 控制器 sjviewcontroller.m 03.lol demo created by sj.abnormal on 15 2 7.import sjviewcontroller.h import ...