OC中的排序方法例項

2021-06-23 03:45:24 字數 2358 閱讀 1858

oc中排序的方法例項分析:
下面是.h檔案
#import @inte***ce person : nsobject

//_name

- (void)setname:(nsstring *)name;

- (nsstring *)name;

//_age

- (void)setage:(nsinteger)age;

- (nsinteger)age;

//height

- (void)setheight:(cgfloat)height;

- (cgfloat)height;

//重寫description

- (id)description;

//自定義初始化方法

- (id)initwithname:(nsstring *)name age:(nsinteger)age height:(cgfloat)height;

//compare 比較方法

- (nscomparisonresult)comparebyage:(person *)anotherperson;

- (nscomparisonresult)comparebyheight:(person *)anotherperson;

- (nscomparisonresult)comparebyname:(person *)anotherperson;

//按姓名降序排列

- (nscomparisonresult)comparebynamedes:(person *)anotherperson;

下面是.m檔案
#import "person.h"

@implementation person

#pragma mark - setter and getter

//_name

- (void)setname:(nsstring *)name

- (nsstring *)name

//_age

- (void)setage:(nsinteger)age

- (nsinteger)age

//height

- (void)setheight:(cgfloat)height

- (cgfloat)height

#pragma mark - override methon

- (id)description

#pragma mark - init mentod

- (id)initwithname:(nsstring *)name age:(nsinteger)age height:(cgfloat)height

return self;

}#pragma mark - compare

//compare 比較方法

- (nscomparisonresult)comparebyage:(person *)anotherperson

else if([self age] == [anotherperson age])else

}- (nscomparisonresult)comparebyheight:(person *)anotherperson

else if ([self height] == [anotherperson height])else

}- (nscomparisonresult)comparebyname:(person *)anotherperson

else if ([[self name]compare:[anotherperson name]] == 0 )else

return [[self name] compare:[anotherperson name]];//1 0 -1

}//降序

- (nscomparisonresult)comparebynamedes:(person *)anotherperson

@end

以下是main.m檔案
#import #import "person.h"

int main(int argc, const char * argv)

]; nslog(@"%@",sortarrdes1);

本文主要包含了對name age height 的公升序降序排列  其中block 以及 -[str compare:] 注意仔細體會

OC中類方法的使用例項

import 車輛類的宣告 inte ce car nsobject void setspeed int speed int getspeed 比較兩輛車字速度的類方法,如果acar的速度比bcar快,那麼返回yes,否則返回no bool isfaster car acar thanthe car...

OC 學習 類方法 例項方法

方法是類的行為,寫在介面和實現兩個檔案中。在介面部分宣告方法,在實現部分實現方法。1 類方法與例項方法 objective c中的類可以宣告兩種型別的方法 例項方法和類方法。例項方法就是乙個方法,它在類的乙個具體例項的範圍內執行。也就是說,在你呼叫乙個例項方法前,你必須首先建立類的乙個例項。而類方法...

OC中的方法

m 是乙個實現檔案 用來實現具體的功能和方法 讓實現檔案 知道自己是什麼 基於什麼 需要匯入宣告檔案 就是把整個 h檔案讓 m共享 import person.h implementation 表示實現 表示人類具體功能方法實現功能的開始 implementation person oc裡面方法的公...