黑馬程式猿 OC之Foundation簡括

2021-06-26 22:14:47 字數 2687 閱讀 7999

1.nsnumber

這是乙個建立oc數字物件的類

建立物件的方法

+(nsnumber *)numberwithint:(int)value;

+(nsnumber *)numberwithdouble:(double)value;

+(nsnumber *)numberwithbool:(bool)value;

從nsnumber中取出之前包裝的基本資料型別

- (char)charvalue;

-(int)intvalue;

-(long)longvalue;

-(double)doublevalue;

-(bool)boolvalue;

-(nsstring *)stringvalue;

2.nsdate

nsdate可以用來表示時間, 可以進行一些常見的日期\時間處理

乙個nsdate物件就代表乙個時間

[nsdate date]返回的就是當前時間

// 建立乙個時間物件

nsdate *date = [nsdate date];

// 列印出的時候是0時區的時間(北京-東8區)

nslog(@"%@", date);

nsdate *date2 = [nsdatedatewithtimeinterval:5 sincedate:date];

// 從1970開始走過的秒數

nstimeintervalseconds = [date2 timeintervalsince1970];

nsstring *time =@"2011/09/10 18:56";

通過nsdateformatter建立日期,日期格式轉化類

nsdateformatter*formatter = [[nsdateformatter alloc] init];

formatter.dateformat = @"yyyy/mm/ddhh:mm";

nsdate *date =[formatter datefromstring:time];

3.nsvalue

nsnumber是nsvalue的子類, 但nsnumber只能包裝數字型別

nsvalue可以包裝任意值

// nsnumber之所以能包裝基本資料型別為物件,是因為繼承了nsvalue   

// 結構體--->oc物件

cgpoint p = cgpointmake(10, 10);

// 將結構體轉為value物件

nsvalue *value = [nsvaluevaluewithpoint:p];

// 將value轉為對應的結構體

// [value pointvalue];

nsarray *array = @[value ];

4.nsset

集合,就是能用來容納oc物件的容器,nsarray、nsdictionary等都是

nsset和nsarray的對比

1> 共同點

* 都是集合,都能存放多個oc物件

* 只能存放oc物件,不能存放非oc物件型別(基本資料型別:int、char、float等,結構體,列舉)

* 本身都不可變,都有乙個可變的子類

2> 不同點

nsarray有順序,nsset沒有順序

//建立元素

nsmutableset *s = [nsmutableset set];

// 新增元素

[s addobject:@"hack"];

// 刪除元素

[s removeobject:<#(id)#>];

nsset *s = [nsset set];

nsset *s2 = [nsset setwithobjects:@"jack",@"rose", @"jack2",@"jack3",nil];

// 隨機拿出乙個元素

nsstring *str =  [s2 anyobject];

5.nsdictionary

nsdictionary翻譯過來叫做」字典」

nsdictionary的作用類似: 通過乙個key, 就能找到對應的value

nsdictionary是不可變的, 一旦初始化完畢, 裡面的內容就無法修改

nsdictionary的建立

常用類+ (instancetype)dictionary;

+(instancetype)dictionarywithobject:(id)objectforkey:(id )key;

+(instancetype)dictionarywithobjectsandkeys:(id)firstobject,...;

+(id)dictionarywithcontentsoffile:(nsstring*)path;

+(id)dictionarywithcontentsofurl:(nsurl*)url;

比較集合

1.nsarray\nsmutablearray

* 有序

* 快速建立(不可變):@[obj1, obj2, obj3]

* 快速訪問元素:陣列名[i]

2.nsset\nsmutableset

* 無序

3.nsdictionary\nsmutabledictionary

* 無序

* 快速建立(不可變):@

* 快速訪問元素:字典名[key]

黑馬程式猿 OC之核心語法(上)

這段時間比較忙,已經乙個禮拜沒有把學習心得及時記錄下來了,看的oc核心語法與記憶體管理都沒有來得及整理,現在把這部分知識整理一下,先來整理核心語法,這篇主要總結一下oc字串 oc點語法 property與synthesize id等小語法點 oc中的字串也是物件,用指標變數來存放 importint...

黑馬程式設計師 OC之Foundation框架

foundation框架 ios培訓 android培訓 期待與您交流!foundation框架是其他所有ios框架的基礎 foundation框架包含了很多開發中常用的資料型別 1 結構體 2 列舉 3 類 要想使用foundation中的資料型別,包含它的主檔案即可 import 一 結構體 在...

黑馬程式設計師 OC學習之方法

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