在nsstring有乙個函式localizedcompare:,它的功能是通過自身與給定字串的比較,返回乙個本地化的比較結果。也就是說這個函式是支援漢字比較的。
student.h
@inte***ce student : nsobject
@property(nonatomic,copy)
nsstring
*stuname;
@property(nonatomic,assign)
cgfloat
stuscore;
@property(nonatomic,copy)
nsstring
*stu***;
@property(nonatomic,assign)
nsinteger
stuage;
-(id)initwithname:(nsstring *)stuname
andstuscore:(cgfloat) stuscore
andstu***:(nsstring *) stu***
andstuage:(nsinteger) stuage;
+(id)studentwithname:(nsstring *)stuname
andstuscore:(cgfloat) stuscore
andstu***:(nsstring *) stu***
andstuage:(nsinteger) stuage;
@end
student.m
@implementationstudent
-(id)initwithname:(nsstring *)stuname
andstuscore:(cgfloat) stuscore
andstu***:(nsstring *) stu***
andstuage:(nsinteger) stuage
return self;
}+(id)studentwithname:(nsstring *)stuname
andstuscore:(cgfloat) stuscore
andstu***:(nsstring *) stu***
andstuage:(nsinteger) stuage
@end
main.m
student
*stu1 = [[
student
alloc
] initwithname:@"
電腦"andstuscore
:34.5
andstu***:@"
男"andstuage:20
]; student
*stu2 = [[
student
alloc
] initwithname:
@"滑鼠
"andstuscore:
34.7
andstu***:@"男
"andstuage:
21];
student
*stu3 = [[
student
alloc
] initwithname:
@"鍵盤
"andstuscore:
45.6
andstu***:
@"nan"
andstuage:
22];
student
*stu4 = [[
student
alloc
] initwithname:
@"顯示器
"andstuscore:
34.6
andstu***:@"男
"andstuage:
23];
nsarray *stuarray1 = [[nsarray
alloc]initwithobjects:stu1,stu2,stu3,stu4,nil];
nsarray *newarry = [stuarray1 sortedarrayusingcomparator:^nscomparisonresult(id obj1, id obj2) ];
nslog
(@"未排序前:");
for (student *stu in stuarray1)
nslog(@"
排序後");
for (student *stu in newarry)
return
0;這樣做會有幾方面的優點:1 支援多個漢字按字母序排序(若第乙個字的第乙個字母同樣。則按第乙個字的第二個字母比較,若第乙個字的字母全然同樣,按第二個字的首字母繼續排序)。2原本可能須要儲存漢字拼音的地方。如今不須要了。
3 能夠通過對nicknamesortde進一步定製。完畢更複雜的比較,比方先比較會員狀態,在按姓名字母序完畢比較。4總體結構簡單使用的都是cocatouch框架下的的方法。
Objective C 的語法與 Cocoa 框架
objective c 是蘋果 mac os x ios 平台的開發語言,objective c 基於 c 語言的,增加面向對 象的相關特性。你可以認為 objective c 就是另乙個版本的 c 也就是它採用了與 c 不同 的語法,但也實現了物件導向。nextstep 是乙個使用 objecti...
利用Dll實現通用密碼驗證框
密碼驗證框,對應用程式的使用者進行身份核對。如果能有乙個通用的 密碼驗證框,便能夠為我們的工作節約不少的時間,更能使我們編制的程式小而快。以下的程式為你提供了這樣的乙個 dll檔案。檔名為checkpasswordform.dpr 編譯此檔案生成checkpasswordform.dlllibrar...
利用WxPython 建立批量錄入框視窗
有個小專案,碰到需要批量建立輸入框的需求。研究了一下wxpython 實現了這個功能。coding utf 8 模組功能 顯示批量錄入框視窗。開發人員 seakingx 最後修改 2018.04.29 import wx class guiframe wx.frame self.max len in...