OC对象,自动释放池,OC与C语言的区别

laorenyuhail 2018-08-22 原文

OC对象,自动释放池,OC与C语言的区别

    在C语言中,编程都是面向过程的编程,每一个代码块都严格按照从上至下的顺序执行,在代码块之间同样也是这样,

    但是在OC中往往不是这样,OC和C++、java等语言一样,都是面向对象的编程语言,在代码的执行上有很大的跳跃性。

    OC是C语言的超集,对C语言所有的功能进行了封装,例如,OC对C语言的字符串进行了封装形成了OC的NSString,对字符串进行封装形成了NSArray;

    OC中可以这样定义一个字符串:NSString *str = @””;在这里对这句话加一个说明,NSString 是定义字符串的关键字,* 是在定义OC对象类型变量时必须使用的,

str是你定义的变量名,@是将c基本对象类型对象化,在赋值和输出的时候会普遍用到,引号之间就是你想赋值给str的内容(在这里即为空),最后和C语言一样以分号结尾,

同样我们可以定义一个数组类型的变量:NSArray *arr = @[@””,@””];(这个数组里面有两个元素,两个元素都为空);

自动释放池就是用来自动释放内存的,当一个对象是用strong,copy,retain创建,并且在自动释放池中,每过一段时间系统会自动去判断这个对象的生命周期,即这个对象是否在被使用,如果已经没有被使用,那么这个对象将被释放掉,在ARC机制(Xcode默认ARC)里面通常不用自己写,也有一些特殊情况会要自己去写,一些短时间内创建大量内存的,比如视频操作。

在C语言中输出用printf;但是printf只能输出C语言的基本对象类型,不能输出对象类型,所以在OC中用NSLog进行输出

输出的格式为:NSLog(@”%@ %@”,str,arr);

 

posted on 2018-08-22 22:03 老人与海l 阅读() 评论() 编辑 收藏

 

 
版权声明:本文为laorenyuhail原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/laorenyuhail/p/9520718.html

OC对象,自动释放池,OC与C语言的区别的更多相关文章

随机推荐

  1. 我们为什么要配置环境变量(转) – 问题人生

    我们为什么要配置环境变量(转) 原文链接(https://blog.csdn.net/u013201439/a […]...

  2. SSM框架+MySql保存emoji表情

    本博客的记录的操作在linux   项目中需要从微信获取授权来登录,在此过程,保存微信emoji表情昵称到my […]...

  3. 位运算的奇技淫巧

    & 与运算 两个位都是 1 时,结果才为 1,否则为 0 ​ 1 0 0 1 1 & 1 1 […]...

  4. 最新20个很棒的 Photoshop 网页设计教程

    在你打开一个网站的时候,首先注意到的当然是它的设计,第一印象至关重要,网站的设计将帮助访问者决定是否继续浏览该 […]...

  5. 3DMAX2016破解教程

    首先,断网。 然后,下载3DMAX2016注册机。 然后,打开已经安装的3DMAX2016,会出现下图,点击激 […]...

  6. 干货满满-原来这才是hooks-React Hooks使用心得

    序言 ---最后有招聘信息哦~React是一个库,它不是一个框架。用于构建用户界面的Javascript库。这 […]...

  7. Python的自省机制

    什么是自省? 在日常生活中,自省(introspection)是一种自我检查行为。 在计算机编程中,自省是指这 […]...

  8. Java 最常用类(前100名)来自一万个开源项目 – 云潇洒

    Java 最常用类(前100名)来自一万个开源项目 大部分的 Java 软件开发都会使用到各种不同的库。近日我 […]...

展开目录

目录导航