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中的類可以宣告兩種型別的方法 例項方法和類方法。例項方法就是乙個方法,它在類的乙個具體例項的範圍內執行。也就是說,在你呼叫乙個例項方法前,你必須首先建立類的乙個例項。而類方法...