IOS之学习笔记一

1、cocoa框架包含Foundation、Application Kit(Appkit)

 

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 {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
深信服三年半工作经验,目前就职游戏厂商,希望能和大家交流和学习,
微信公众号:编程入门到秃头 或扫描下面二维码
零基础入门进阶人工智能(链接)