數據分組 2021-03-18

?前端數據無分組返回,自遍歷設置數據按時間分組顯示

直接擼代碼

拿到加載后的總數據后,通過下面兩個方法來定位數據位置

//獲得每個時間相同的數量

- (NSArray *)getRowNumberArray {

? ? @autoreleasepool {

? ? ? ? NSMutableArray *timeArr=[NSMutableArray array];

? ? ? ? for(inti=0; i

? ? ? ? ? ? @autoreleasepool {

? ? ? ? ? ? ? ? SystemNotification*model=self.dataArray[i];

? ? ? ? ? ? ? ? [timeArr addObject:model.create_at];

? ? ? ? ? ? }

? ? ? ? }

? ? ? ? NSInteger num=1;

? ? ? ? NSMutableArray *arr2=[NSMutableArray array];//記錄每個時間相同的數量

? ? ? ? for(inti=0; i

? ? ? ? ? ? @autoreleasepool {

? ? ? ? ? ? ? ? if([timeArr[i] isEqualToString:timeArr[i+1]]){

? ? ? ? ? ? ? ? ? ? num++;

? ? ? ? ? ? ? ? }else{

? ? ? ? ? ? ? ? ? ? [arr2 addObject:[NSNumber numberWithDouble:num]];

? ? ? ? ? ? ? ? ? ? num=1;

? ? ? ? ? ? ? ? }

? ? ? ? ? ? }

? ? ? ? }

? ? ? ? [arr2 addObject:[NSNumber numberWithDouble:num]];

? ? ? ? returnarr2;

? ? }

}

//獲得每個不同時間第一個數的位置

- (NSArray *)getIndexArray {

? ? @autoreleasepool {

? ? ? ? NSArray *arr=[self getRowNumberArray];

? ? ? ? NSMutableArray *arr1=[NSMutableArray array];

? ? ? ? [arr1 addObject:@0];

? ? ? ? for(inti=0; i

? ? ? ? ? ? @autoreleasepool {

? ? ? ? ? ? ? ? NSInteger index=[[arr1 lastObject] integerValue]+[arr[i] integerValue];

? ? ? ? ? ? ? ? [arr1 addObject:[NSNumber numberWithDouble:index]];

? ? ? ? ? ? }

? ? ? ? }

? ? ? ? returnarr1;

? ? }

}

以下tablecell中的使用方法:


- (UITableViewCell*)tableView:(UITableView*)tableViewcellForRowAtIndexPath:(NSIndexPath*)indexPath {

? ? NSArray *arr=[self getIndexArray];

? ? NSInteger index=[arr[indexPath.section] integerValue];

? ? SystemNotification*model=self.dataArray[index+indexPath.row];// 拿到模型

}

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {

? ? NSMutableSet *set=[NSMutableSet set];// 不重復元素來確定section數量

? ? for(inti=0; i< self.dataArr.count;i++) {

? ? ? ? SystemNotification*model=self.dataArray[i];

? ? ? ? [set addObject:model.create_at];

? ? }

? ? return set.count;

}

- (NSInteger)tableView:(UITableView*)tableViewnumberOfRowsInSection:(NSInteger)section {

? ? NSArray *arr=[self getRowNumberArray];

? ? return [arr[section] integerValue];// section中的cell數量

}

OK啦,少年!

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 1.控件上數據沒有的原因 a.源頭數據是否存在 b.源頭數據存在時,如果涉及到if比較,源頭數據與被比較條件 是否...
    An_Jun閱讀 1,149評論 0 0
  • iOS中常用的排序方法有(冒泡、選擇、快速、插入、希爾、歸并、基數) 接下來就依次介紹一下,直接上代碼 1、冒泡排...
    Leeson1989閱讀 1,111評論 0 0
  • 1.badgeVaule氣泡提示 2.git終端命令方法> pwd查看全部 >cd>ls >之后桌面找到文件夾內容...
    i得深刻方得S閱讀 4,987評論 1 9
  • http://blog.csdn.net/david21984/article/details/57451917 ...
    紫色冰雨閱讀 669評論 0 0
  • KVC(Key-valuecoding)鍵值編碼,單看這個名字可能不太好理解。其實翻譯一下就很簡單了,就是指iOS...
    榕樹頭閱讀 773評論 0 2

友情鏈接更多精彩內容