IOS之學習筆記一
1、cocoa框架包含Foundation、Application Kit(Appkit)
2、@autoreleasepool{ *** } @autoreleasepool自動釋放池,在里面的代碼會自動釋放內存,不會內存泄漏
3、objective-c 2.0引入ARC(自動引用計數)機制和自動釋放池,降低內存管理難度
4、NSLog()的NS是一個前綴,Cocoa對其所有的函數、常量、類型前面都會增加"NS"前綴,這個前綴區(qū)分函數來自Cocoa,而不是來自其它程序包
5、字符串@"chenyu"前面加@號是為了區(qū)分C語言里面的字符串,好吧,這個我之前也覺得奇怪。
6、objective-c程序早期Xcode用gcc編譯, Xcode4開始用內置的LLVM(Low Level Virtual Mach低級虛擬機)編譯
7、在mac終端編譯c程序命令, clang -fobjc-arc -framework Foundation **.m -o **.out,然后在終端執(zhí)行./××.out 就行了
8、NSLog(@"helli is %ld", [str length]);這里的[]就是調用的意思
9、oc基本數據類型包括整形、浮點型、字符型、枚舉型
10、oc還有一種特殊的空類型(null type),nil空引用是空類型唯一的值,空引用(nil)可以轉換為任何引用類型
11、整形一般是short、int、long、long long,mac系統(tǒng)它們占的字節(jié)分別是2個字節(jié)、4個字節(jié)、8個字節(jié)、8個字節(jié)、
在ios系統(tǒng)里面,分別是2個字節(jié)、4個字節(jié)、4個字節(jié)、8個字節(jié)
12、NSLog輸出函數及格式字符 %d(整形) %o(八進制無符號)%x(16進制無符號)%u(十進制無符號)%c(已字符輸出)%s(C語言的字符串)%f(已小數點輸出浮點數)%p(以16進制輸出指針變量)%@(輸出 oc對象)
13、oc會把反斜線當成轉義字,我們需要寫兩條反斜線@"c:\\codes"
14、float占4個字節(jié),double占8個字節(jié),long double占16個字節(jié)
15、浮點數除以0.0才可以得到正無窮大和負無窮大,整形除以0.0會得到整數取值邊界值。
16、枚舉類型,enum season {spring, summer, fall, winter}; enum season myLove, yourLove; myLove = winter;
17、枚舉類型的本質是無符號整型
18、BOOL類型值有2個分別是YES、NO、分別代表1、0 底層實際上用signed char代表BOOL,C語言里面非0的整數都被當為真
19、short->int->long->long long->float->double->long double
20、NSLog(@"%d", ~-5); 輸出4,正數的補碼和原碼完全相同,負數的補碼等于反碼+1,反碼對原碼取反,最高位不變
-5源碼 1000000000000000 0000000000000101
-5反碼 111111111111111111111111111111010
-5補碼 111111111111111111111111111111011
000000000000000000000000000000100 -> 4
21、NSLog(@"%d", 5 ^ 9);輸出12
000000000000000000000000000000101
000000000000000000000000000001001
000000000000000000000000000001100 -> 12
22、NSLog(@"%d", -5 >> 2);輸出-2 (左移n位就相當于乘以2的n次方,右移則是除以2的n次方,如果不能整除,實際返回結果小于除法結果的最大整數)
作者:chen.yu
深信服三年半工作經驗,目前就職游戲廠商,希望能和大家交流和學習,
微信公眾號:編程入門到禿頭 或掃描下面二維碼
零基礎入門進階人工智能(鏈接)