oc基础知识

                                    基础知识(重点)

1> #include,#import,@classd这三者的区别
1)  #include
         #include :它用于对系统自带的头文件的引用,编译器会在系统文件目录下去查找该文件.

         #include "xx.h":    后面“  ”  ,表示用户自定义的文件

        对用户自定义的文件的引用,编译器首先会去用户目录下查找,然后去安装目录,最后去系统目录查找
        

注意:使用include要注意重复引用的问题:(这也是c语言中#include与oc#import的区别,因为import会自动检测是否有包含。)
                 

2) #import
         #import 功能和#include是一样的,解决重复引用的问题,引用文件的时候不用进行重复引用处理。所以在OC中我们基本用的都是import。

 

3) @class
        主要是用于声明一个类,告诉编译器它是一个类的名字,但是类是如何实现的不用告诉编译器.若.m文件用到了这个类,还是要在.m文件汇总import这个类的。@class仅仅只是声明一个类,所以在后面的实现文件里面是需要去#import这个类,这时候才包含了这个被引用的类的所有信息。

既然这样,为什么不直接用import呢,

经典例子:

      class A引用了class B,class B引用了class C.... , class A,B,C...的头文件又引用了import的很多文件。连续引用。
      
那么 import要去引用A的话,编译器就需要编译大量的文件一个一个的找,那么编译时间就会增加很多。多么耗费性能啊。
 
2>方法与函数的区别:
1)方法:
1 都是以减号开头
2 对象方法的声明必须写在@interface和@end之间
3 对象方法的实现,必须写在@implementation和@之间
4 对象方法只能由对象方法调用
5 对象方法由类或对象所有
 
2)函数:
1 函数能写在文件中的任意位置,函数归文件所有
2 函数的调用不依赖于对象
3 函数内部不能直接通过成员变量访问某个对象的成员变量。
 
 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值