![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Objective-C
文章平均质量分 72
smile-_-
这个作者很懒,什么都没留下…
展开
-
黑马程序员_OC学习日记1
OC内存管理一、为什么要做内存管理?从我的上一个博客中,知道一个程序的内存空间有很多种,栈、堆、数据段(bss段)、代码段。其中栈区、数据段、代码段,均由编译器控制其空间的分配与释放。而堆区空间分配、释放则由程序员自己手动控制,自由意味着责任,如果不手动释放已分配的内存,则直到该程序结束这部分内存才会由OS释放。我们知道移动设备的内存空间有限,如果我们不及时的释放对象的内存空间,很快内存就原创 2015-11-09 10:09:58 · 357 阅读 · 0 评论 -
黑马程序员_NSArray
NSArray一、不可变数组下面将演示常用的数组操作:初始化、数组对象的方法执行、数组元素的遍历、在原有数组基础上产生新数组、数组排序等#import #import "Person.h"void test1(){ //NSArray长度不可变所以初始化的时候就赋值,并且最后以nil结尾 //此外需要注意NSArray不能存放C语言的基础类型原创 2015-11-15 09:09:20 · 241 阅读 · 0 评论 -
黑马程序员_NSString
NSString一、foundation框架1、什么是框架?框架是由许多类、方法、函数、文档按照一定的逻辑组织起来的集合。框架提供一些基础的功能,方便程序员,提高开发效率。2、foundation框架:foundation框架允许使用一些基本对象,如:数字和字符串,以及一些对象集合,如:数组,字典和集合,其它功能,包括处理日期和时间、内存管理、处理文件系统、存储对象,处理几何数原创 2015-11-15 08:38:55 · 274 阅读 · 0 评论 -
黑马程序员_OC对象的方法
OC对象的方法函数与方法的区别:一、方法1、必须以+\ -开头,以+开头的是类方法,以-开头的是对象方法2、声明必须写在@interface 和 @end之间,实现必须写在@implementation 和 @end之间3、必须由对象或类调用4、归对象、类所有二、函数1、函数调用不依赖于对象或类2、函数内部不能直接访问对象成员变量3、函数能写在文件中的任意位原创 2015-11-13 17:07:39 · 311 阅读 · 0 评论 -
黑马程序员_MRC2
MRC上次blog我谈到iOS MRC内存管理的原理、原则以及出现的问题,接下来我会结合实例继续介绍在处理MRC内存管理的时候经常出现的问题:内存泄露、循环引用(retain)一、内存泄露:内存泄露的主要原因在于,没有遵守内存管理的原则,要么忘记release,要么release的次数少了。下面通过代码展示://第一种情况#import #import "Per原创 2015-11-10 12:04:28 · 535 阅读 · 0 评论 -
黑马程序员_MRC
MRC一、MRC 上一篇blog提到在iOS开发中为什么要进行内存管理以及怎样进行内存管理。这次我深入的谈一下,iOS的MRC内存管理方法。我们知道在iOS中是通过引用计数器来决定对象内存空间是否释放,引用计数器的主要作用就是用于判断是否应该回收一个对象的内存空间。不论是MRC还是ARC,都是通过操作对象的引用计数来管理对象的生命期,ARC只不过是一块语法糖。注1: xcode默认原创 2015-11-09 16:19:27 · 304 阅读 · 0 评论 -
黑马程序员_编程范式
编程范式程序设计有一个范式(paradigm)问题。所谓范式,就是组织程序的基本思想,而这个基本思想,反映了程序设计者对程序的一个基本的哲学观,也就是说,他认为程序的本质是什么,他认为一个大的程序是由什么组成的。而这,又跟他对于现实世界的看法有关。现在主流的编程范式有:过程范式、函数范式以及对象范式。过程范式认为,程序是由一个又一个过程经过顺序、选择和循环的结构组合而成。反映在转载 2015-11-13 12:38:50 · 362 阅读 · 0 评论 -
黑马程序员_OC对象的属性
对象的属性一个对象主要有两个方面:属性与方法。对于对象来说属性相当于个人隐私,那么对象是如何保护自己的隐私呢?这也就是所谓的封装。在OC中我们使用set、get方法完成对成员变量(对象属性)对封装。外界只能通过get方法,获得成员变量的值,只能通过set方法、设置变量的值。一、set方法set方法的作用:为外界提供一个设置成员变量值的渠道命名规范:(1)方法名必须以原创 2015-11-13 14:07:36 · 329 阅读 · 0 评论 -
黑马程序员_ARC
ARC一、补实在抱歉,上篇blog后面的内容不知道咋回事发不出来,我下面简单讲一下,循环retain的处理方法,然后进入进入正餐。对于相互依赖的类,可以通过重写类的dealloc方法,在方法中首先release一次set方法的实参对象,来解决对象无法销毁的问题。二、ARC简介ARC auto reference counting 看名字auto就可以猜到,MRC模式不用人工,编译原创 2015-11-10 15:08:39 · 405 阅读 · 0 评论 -
黑马程序员_OC对象的构造
对象的构造在上一篇blog中,我提取了孟岩的一些观点,说明对象范式(面向对象)的一些基本观点。我认为面向对象的核心就是:如何管理对象以及如何实现对象间的消息传递。现在主流的面向对象语言通过类来实现对象的构造,通过函数调用来实现对象间的消息传递。今天我主要想谈一下,在OC中对象的构造。一、类、对象类,在我看来像是蓝图,我们通过类来建造对象这座大厦。类决定了一个对象是什么样子以及能够有些什原创 2015-11-13 13:17:00 · 333 阅读 · 0 评论 -
黑马程序员-OC学习日记2
@property:@property 的作用:定义成员变量,自动帮我们生成set、get方法@property 的格式:@property (参数1,参数2,参数3)数据类型 变量名@property 参数:1、是否要生成set方法(若为只读属性,则不生成)readonly:只读,只会生成getter的声明与实现readwrite:默认,同时生成s原创 2015-11-13 15:37:32 · 325 阅读 · 0 评论 -
黑马程序员_C语言之内存空间分类
栈(stack) :栈又称堆栈, 主要用于存放程序的 非static局部变量 (static变量存储于数据段)。除此以外,在函数被调用时,栈用来传递参数和返回值。由于栈的先进先出特点,所以栈特别方便用来保存/恢复调用现场。在栈中分配、释放内存由编译器自动控制,无需程序猿。其主要作用: 1. 为函数内部的局部变量提供存储空间。 2. 进行函数调用时,存储“过程原创 2015-11-09 09:32:24 · 466 阅读 · 0 评论