1简述OC中内存管理机制。与retain配对使用的方法是dealloc还是release,为什么?需要与alloc配对使用的方法是dealloc还是release,为什么?readwrite,readonly,assign,retain,copy,nonatomic、atomic、strong、w....
分类:
其他好文 时间:
2015-02-11 12:28:59
阅读次数:
267
类和结构体:
相同点:
1.都可以定义属性
2.都可以定义方法,这一点是Swift根C,OC的明显区别之一
3.他们都可以定义构造器(初始化方法)
4.都可以遵循协议
5.他们都可以被扩展
不同点:
1.类可以被继承,而结构体不可以
2.类可以被类型推断
3.类可以通过 析构(dealloc) 释放内存
4.类是 ...
分类:
编程语言 时间:
2015-02-05 11:22:03
阅读次数:
227
1、EXC_BAD_ACCESS内存错误与NSZombieEnabledEXC_BAD_ACCESS是最常见的错误了,这个一般是访问了释放了的内存地址空间造成的。比如一个对象已经dealloc了,如果你仍向这个对象发送消息,就会出现这个错误。由于出现这个错误时,几乎不显示什么有用的信息,我们根本.....
分类:
移动开发 时间:
2015-02-03 10:45:38
阅读次数:
174
在一个项目中,如果ViewController使用完成之后,发现这个东东并没有释放掉,dealloc方法不走,看着那个内存蹭蹭的网上增,就跟自己的火气一样。相信大家都知道如何去释放一个不用的ViewController,但是还是有些其他因素限制了内存释放。
首先,如果你创建了一个VController,使用它却没释放它,那这个VC肯定存在,那dealloc指定不调用,那么你创建的类就会内...
分类:
其他好文 时间:
2015-01-30 22:51:25
阅读次数:
261
一 ARC简介
ARC是编辑器的一种功能。
它会把alloc出来的对象,自动release。
它把使用retain属性的变量,在dealloc中自动生成release;
在新建项目时选中ARC功能后,不允许调用:
retain
retainCount
release
autorelease
[super dealloc]
二 ARC的判断准则
1 准则:只要没有强...
分类:
移动开发 时间:
2015-01-30 10:49:18
阅读次数:
168
1 alloc和release成对出现
2 set方法
2.1 基础类型直接赋值
2.2 OC对象:判断不等、retain新的,释放旧的,再赋值
3 dealloc方法
3.1 一定要调用[super dealloc];且放在最后
3.2 self拥有的对象要做一次release
@interface Book
{
int _price;
}
- (void)setPr...
分类:
移动开发 时间:
2015-01-29 14:40:55
阅读次数:
154
1.上篇我们讲了OC中的内存管理基础,我们再总结一下何时该用内存管理。1)当用new、alloc、copy创建对象时,必须要释放对象。2)当拥有对象时,如果是临时对象,不需要释放;当需要长时间保留对象时,必须保留对象并且在dealloc方法中释放对象。2.OC中的垃圾回收机制OC2.0引入了垃圾回收...
分类:
其他好文 时间:
2015-01-25 15:10:06
阅读次数:
224
[UIPopoverController dealloc] reached while popover is still visible。注意:在iOS8中已经不会出现这个错误,即只是在花括号中定义的局部变量,但是不会报错。这个错误一般是在iOS7及以下系统。...
分类:
移动开发 时间:
2015-01-22 13:20:01
阅读次数:
180
自动引用计数ARC不是垃圾回收,而是编译器自动插入代码来减少程序员的代码输入和失误。 同时比垃圾和效率要高,因为其不影响运行时间,相当于自己管理内存。总是通过属性来管理实例变量(init/dealloc除外),在dealloc中释放所有属性。dealloc中会自动加入释放实例变量的代码,因此不必要....
分类:
移动开发 时间:
2015-01-14 19:52:25
阅读次数:
226
//调用父类dealloc(即[super dealloc])最好放在最后。- (void)dealloc { [_name release]; NSLog(@"%@被销毁了", self); [super dealloc];}
分类:
其他好文 时间:
2014-12-31 16:09:31
阅读次数:
148