Objective-C之新特性

程序介绍:

Objective-C之新特性_第1张图片


小知识:

1.OC程序的源文件的后缀名是 .m , .m代表message表示消息机制。

2.main依然是OC程序的入口和出口,main函数有个int类型的返回值,代表程序的结束状态.

3.#import 预处理指令,是#include指令的增强版,作用:是将文件的内容在预编译的时候拷贝到写指令的地方。


   #import做了优化,同一个文件无论#import多少次,都只会包含一次.

   原理:#import指令在包含文件的时候,底层会判断这个文件是否被包含,如果包含过就会忽略过.


#import 与 #include 区别:1.#include需要自己手动处理重复引用.(C语言总结有讲过,可以回去看看).

                                      2.#import会自动处理防止同一个文件多次被包含,不需要手动进行处理。


4.框架:

一个功能集,苹果或者第三方事先将一个协助开发成员在开发程序的时候把经常要用到的功能事先写好。把这些功能封装在一个类或者函数中,这些函数和类的集合就叫做框架。

Foundation框架:

Foundation:基础框架,这个框架中提供了一些最基础的功能,输入和输出,一些数据类型。


5.@autoreleasepool 是OC的关键字,它的作用是对包含在这个关键字后面大包括内的程序会自动进行内存回收,不需要开发人员手动释放无用的对象;当然表面上看起来这有点类似于C#和Java的内存垃圾回收机制,但是事实上他们的原理完全不同,以后再做具体解释。


6.NSLog是标准输出函数,类似于C语言中的printf()函数,但是它会自动换行,当然它同样支持格式输出(例如%i表示输出整形数据,%f输出浮点型数据),这个函数在Fundation.h中声明;


7.@”Hello,World!”,是一个字符串常量,在OC中字符串前需要使用@符号,注意区分C语言的字符串;很多关键字也都是以@开头的,(比如@autoreleasepool....等


8.下面列出常用格式符:

Objective-C之新特性_第2张图片



注意:

1.在C或者OC中整形可以使用%i也可以使用%d来格式化,
只有使用scanf()输入的时候二者才有区别(由于%d始终被编译器解释为decimal intergeer,所以即使输入010会被认为是整形10,而%i则会将前面的0或者0x认为此输入是八进制或十六进制整数);

2.%p本质就是输出指针地址,在32位编译器下对于一个指针类型使用%x输出和%p输出其实是一样的,只是后者会在前面加上“ox”(注意在64位编译器下由于指针长度8byte,而整形只有4byte所以%x输出的内容只是%p的低位数据);


9.程序编译连接过程:

源文件(.m)----(编译)----->(目标文件.0)------>(链接)----->可执行文件(.OUT)


你可能感兴趣的:(Objective-C系列)