轉自: ?IOS 數組分組 Grouped NSArray
1 2 3 4 5 6 7 8 | NSMutableSet ?*set=[ NSMutableSet ?set]; ?? [_list enumerateObjectsUsingBlock:^( id ?obj,? NSUInteger ?idx,? BOOL ?*stop) { ?????? [set addObject:obj[@ "MeasureType" ]]; //利用set不重復的特性,得到有多少組,根據數組中的MeasureType字段 ?? }]; ?? [set enumerateObjectsUsingBlock:^( id ?obj,? BOOL ?*stop) { //遍歷set數組 ?????? MyLog(@ "obj=%@" ,obj); ??????? NSPredicate ?*predicate = [ NSPredicate ?predicateWithFormat:@ "MeasureType = %@" , obj]; //創建謂詞篩選器 ??????? NSArray ?*group = [_list filteredArrayUsingPredicate:predicate]; //用數組的過濾方法得到新的數組,在添加的最終的數組_slices中<br>???????? [_slices addObject:group];<br>??? }]; |
?解析:查詢數據庫得到數據_list數組NSArray,_list中的每一行為數據庫中的一行數據,有多個字段.
_list數組類型為NSArray 而不是NSMutableArray
_slices為最終分組后的數組.
MeasureType為_list數組中每一行中的一個字段名.
?