OC的當中常用的類

2021-07-04 01:18:55 字數 2663 閱讀 9754

值物件

作用:把基本資料型別轉換成物件型別

指令:nsinteger

a =10;

nsnumber

*number = [[

nsnumber

alloc

]initwithinteger

:a];

nsnumber -> nsinteger

指令:nsinteger b = [number integervalue];

或者:nsnumber *num = @10;(字面量)

nsrange -> nsvalue

先定義:

nsrange range = ;

指令:nsvalue *value = [nsvalue valuewithrange:range];

nsvalue -> nsrange

先定義:

nsrange range = ;

指令:nsrange rangev = [value rangevalue];

注意:結構體的

"."是訪問成員變數

,物件呼叫屬性

"."是點語法

nsset

注意:nsset

輸出是無序的,不能有重複的元素,集合裡的元素

,必須是物件型別

定義:nsset *set = [[nsset alloc] initwithobjects:@"1", @"2", @"3", @"4", @"5", @"2", nil];

或者:nsset *set = [nsset setwithobjects:@"1", @"2", @"3", @"4", @"5", @"2", nil];

nsset常用的方法

判斷該集合是否有

10指令:

nslog(@"%d", [set containsobject:@"10"]);

nsmutableset(可變)

新增元素

指令:[set addobject:@"0"];

刪除指令:[set removeobject:@"0"]

把乙個set2

新增到set1

中指令:

[set1

unionset

:set2];

用forin

進行遍歷

指令:for (nsstring *str in set)

nsdate(是乙個日期的類)

定義:nsdate *date = [nsdate date];

注意:date

獲取的時間無論在哪個區

,都是列印的相對的零時區的時間

獲取一下當前所在的時區

指令:nstimezone *zone = [nstimezone systemtimezone];

獲取一下和

0時區相差的秒數

指令:nsinteger seconds = [zone secondsfromgmtfordate:date];

通過相差的秒數

,能獲取到現在的時間

指令:nsdate *localdate = [nsdate datewithtimeintervalsincenow:seconds];

明天這個時候的時間

指令:nsdate *tomorrowdate = [nsdate datewithtimeintervalsincenow:32 * 3600];

計算兩個時間物件的時間間隔

指令:nstimeinterval interval = [tomorrowdate timeintervalsincedate:date];

把日期和字串的乙個互相的轉化(

nsdate -> nsstring)

方法一:

指令:nsdate *date = [nsdate date];

nsstring *datestr = [nsstring stringwithformat:@"%@",date];

nslog(@"%@", datestr);

方法二先設定一下時間的格式

,要轉換的時間要和格式相吻合

指令:nsdateformatter *formatter = [[nsdateformatter alloc] init];

[formatter setdateformat:@"yyyy-mm-dd hh-mm-ss"];

nsdate *date = [nsdate date];

nsstring *strdate = [formatter stringfromdate:date];

注意:yyyy

年-mm

月-dd日hh

時-mm

分-ss

秒 格式如此,切大小寫不能改變

通過這種方式

,系統還會把時間切換成當前的時間

字串-> nsdate

指令:nsdateformatter *formatter = [[nsdateformatter alloc] init];

[formatter setdateformat:@"yyyy-mm-dd hh:mm:ss"];

nsstring *timestr = @"2015-7-23 17:18:10";

nsdate *date = [formatter datefromstring:timestr];

OC中常用排序方法

oc中常用排序方法 1 不可變陣列 nsarray sortedarrayusingselector sel comparator nsarray sortedarrayusingcomparator nscomparator cmptr 2 可變陣列 void sortusingselector ...

OC當中的閉包

oc當中閉包的基本定義 int sumblock int,int 隨後定義其具體的實現方式 int sumblock int,int int a,int b 關於swift 和oc中閉包的區別 可以看這個部落格 目前個人也不是很看得懂。隨後oc當中的閉包 是會捕獲外部的變數的,但不會對其進行修改,若...

優化技巧二 OC開發中常用的tips

系統已經定義 dispatch block t定義如下 typedef void dispatch block t void 複製 我們經常開發的時候會定義一些常量之類的,我們會用到 define eg define afurlsessiondidinvalidatenotification com...