IOS之學習筆記一

2021-08-21 03:15:25 字數 1754 閱讀 8418

2、@autoreleasepool @autoreleasepool自動釋放池,在裡面的**會自動釋放記憶體,不會記憶體洩漏

3、objective-c 2.0引入arc(自動引用計數)機制和自動釋放池,降低記憶體管理難度

4、nslog()的ns是乙個字首,cocoa對其所有的函式、常量、型別前面都會增加"ns"字首,這個字首區分函式來自cocoa,而不是來自其它程式包

5、字串@"chenyu"前面加@號是為了區分c語言裡面的字串,好吧,這個我之前也覺得奇怪。

6、objective-c程式早期xcode用gcc編譯, xcode4開始用內建的llvm(low level virtual mach低階虛擬機器)編譯

7、在mac終端編譯c程式命令, clang -fobjc-arc -framework foundation **.m -o **.out,然後在終端執行./××.out 就行了

8、nslog(@"helli is %ld", [str length]);這裡的就是呼叫的意思

9、oc基本資料型別包括整形、浮點型、字元型、列舉型

10、oc還有一種特殊的空型別(null type),nil空引用是空型別唯一的值,空引用(nil)可以轉換為任何引用型別

11、整形一般是short、int、long、long long,mac系統它們佔的位元組分別是2個位元組、4個位元組、8個位元組、8個位元組、

在ios系統裡面,分別是2個位元組、4個位元組、4個位元組、8個位元組

12、nslog輸出函式及格式字元 %d(整形) %o(八進位制無符號)%x(16進製制無符號)%u(十進位制無符號)%c(已字元輸出)%s(c語言的字串)%f(已小數點輸出浮點數)%p(以16進製制輸出指標變數)%@(輸出 oc物件)

13、oc會把反斜線當成轉義字,我們需要寫兩條反斜線@"c:\\codes"

14、float佔4個位元組,double佔8個位元組,long double佔16個位元組

15、浮點數除以0.0才可以得到正無窮大和負無窮大,整形除以0.0會得到整數取值邊界值。

16、列舉型別,enum season ; 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次方,如果不能整除,實際返回結果小於除法結果的最大整數)

IOS之學習筆記六 可變形參

1 va list 這是乙個可變型別,用於定義指向可變引數列表的指標變數 2 va start 讓arglist指向乙個可變引數列表的第乙個引數 3 提取arglist當前指標指向的引數,並且將指標指向下乙個引數 4 釋放arglist指標,結束提取 args.h ifndef args h def...

vue router之學習筆記

用 vue.js vue router 建立單頁應用,是非常簡單的。使用 vue.js 我們已經可以通過組合元件來組成應用程式,當你要把 vue router 新增進來,我們需要做的是,將元件 components 對映到路由 routes 然後告訴 vue router 在 渲染它們。在vue開發...

IOS之學習筆記三 簡單物件和static和單例

1 person.h import inte ce person nsobject void setname nsstring name andage int age void say nsstring content nsstring info void foo end person.m impo...