OC语言篇—学习笔记1—C和OC的区别

学习笔记1—C和OC的区别

1.文件的后缀名

  • OC:类的头文件 .h,类的实现文件 .m
  • C:类的头文件 .h,类的实现文件.c

2.导入头文件方式

  • C语言使用include导入头文件,如果想多次引用头文件,会出现重复定义,重复声明的情况,所以需要使用条件宏指令避免这种情况;
#ifndef TEST_HHHHH
#define TEST_HHHHH
#include <stdio.h>
#endif
  • OC使用import导入头文件,封装了C语言的include,可以避免重复定义的情况。

3.内存管理
OC有一个自动释放池@autoreleasepool,用于释放对象的内存,如果创建了一个对象,而且使用autorelease来修饰这个对象[a autorelease],那么这个对象会被放到自动释放池里,系统会每隔一段时间来查找自动释放池里面的对象,如果一个对象已经不会再使用了,那么系统会将这个对象的保留技术减一变为0(对象被使用时保留技术为1),从而把这个对象从自动释放池里面销毁,如果某个代码块或者程序结束了,系统也会将自动释放池里面的对象销毁。

自动释放池的使用:

  • main函数;
  • 某个时刻产生大量对象时,会使用大量内存,这时就需要自己写一个自动释放池,如:视频操作2G;for循环一百万次 每次产生一个对象。
@autoreleasepool{

}

4.内部语句

  • C:bool true false / OC:BOOL TES NO

  • C:NULL / OC : nil

  • C:void * / OC : id

  • C:printf 输出字符串 / OC : 输出字符串对象 自动换行

NSArray *namesArray = @[@"xw", @"zs", @"ls"];
        
        for (int i = 0; i < 3; i++) {
            NSLog(@"%@", namesArray[i]);
        }
        
        //快速枚举
        for (NSString *name in namesArray){
            NSLog(@"%@", name);
        }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值