nssortdescriptor 指定用於物件陣列排序的物件的屬性。(物件可能是字典,這種情況就是對字典陣列排序)
如果是employee物件需要按照name來排序,就生成下面的descriptor
nssortdescriptor *descriptor =[nssortdescriptor sortdescriptorwithkey:name ascending:yes];
如果需要多個排序,比如先按name排序,再按入職日期排序。那就建立兩個descriptor
nssortdescriptor *descriptor2 =[nssortdescriptor sortdescriptorwithkey:hiredate ascending:yes];
兩個descriptor放到陣列裡一起傳給需要排序的陣列。
nsarray *mydataarray = [nsarray arraywithobjects:..., nil];
nsarray *resultarray = [mydataarray sortedarrayusingdescriptors:@[descriptor, descriptor2]];
如果物件就是nsstring,就是字串陣列排序,那更簡單了,sortdescriptor的key直接指定為nil,就直接排序物件,而不是物件的某乙個屬性了。
nssortdescriptor *descriptor = [nssortdescriptor sortdescriptorwithkey:nil ascending:yes];
nsarray *descriptors = [nsarray arraywithobject:descriptor];
nsarray *mydataarray = [nsarray arraywithobjects:@"what", @"xero", @"highligth", @"mountain", @"victory", @"balance", nil];
nsarray *resultarray = [mydataarray sortedarrayusingdescriptors:descriptors];
nslog(@"%@", resultarray);
nsarray 使用sortedarrayusingdescriptors,返回排序好的陣列。
nsmutablearray可以直接使用sortusingdescriptors,對陣列本身排序。
使用comparator
nsmutablearray *arr = [nsmutablearray arraywithobjects:@"0",@"8",@"6",@"1",nil];
nsarray *sortedarray = [arr sortedarrayusingcomparator:^nscomparisonresult(id obj1, id obj2)else
if ([obj1 intvalue] < [obj2 intvalue]) else
}];nslog(@"排序後的陣列:%@",sortedarray);
CMFCColorButton的使用以及重繪
cmfccolorbutton是visual studio 2008 sp1版本以上提供的顏色採集器。系統環境 windows 7 程式設計環境 visual studio 2008 sp1 下面介紹下使用步驟 1.新建基於對話方塊的工程,名稱為mycolorbuttondemo 2.拖動乙個按鈕到...
UITableviewCell使用以及自定義高度
uitableview號稱是 ios裡面最難使用也是最複雜的乙個控制項?是不是暫且不說,反正我覺得httprequest也是挺複雜的。但確實被uitableview折磨了一段時間,還好搞定了一小半。一 如何重用uitableviewcell 重用的目的是為了減少記憶體消耗,假如有1千個cell,如果...
CocoaLumberjack使用以及日誌檔案獲取
本文主要介紹之前專案中使用到cocoalumberjack,然後獲取cocoalumberjack為我們儲存的日誌檔案,在使用者反饋的時候,將日誌檔案打包上傳到伺服器,以便我們查詢錯誤資訊。cocoalumberjack 和 xcodecolors 的安裝和使用 ios開源專案之日誌框架cocoal...