IOS开发之深拷贝与浅拷贝(mutableCopy与Copy)详解阅读本文之前首先了解copy与retain的区别,如果有不正确的地方望大家多多指教:copy与retain的区别:copy是创建一个新对象,retain是创建一个指针,引用对象计数加1。Copy属性表示两个对象内容相同,新的对象ret...
分类:
其他好文 时间:
2014-07-30 09:46:53
阅读次数:
256
You can use?CFGetRetainCount?with Objective-C objects, even under ARC: NSLog(@"Retain?count?is?%ld",?CFGetRetainCount((__bridge?CFTypeRef)myObject));...
分类:
其他好文 时间:
2014-07-30 01:11:23
阅读次数:
472
相同:1,最后结果都是 释放不需要的空间,不同:assign(weak):直接赋值retain(strong):+1,引用一次 调用一次 retainrelease:-1copy:两个变量不共享内存,各有各的内存atomic:原子操作(多线程时使用)nonatomic:非原子操作@autorelea...
分类:
移动开发 时间:
2014-07-30 00:32:32
阅读次数:
397
1、自动引用计数 ARC(Automatic Reference Counting,自动引用计数)极大地减少了Cocoa开发中的常见编程错误:retain跟release不匹配。ARC并不会消除对retain和release的调用,而是把这项原本大都属于开发者的工作移交给了编译器。这样做的好处是.....
分类:
其他好文 时间:
2014-07-29 11:39:46
阅读次数:
210
在iOS开发过程中,MRC情况下,属性的定义往往与retain, assign, copy有关。在iOS5中新的关键字strong, weak, unsafe_unretained. 可以与以前的关键字对应学习strong与retain类似,weak与unsafe_unretained功能差不多(有...
分类:
其他好文 时间:
2014-07-28 23:42:24
阅读次数:
422
IOS block 中使用注意的问题
1.block 的循环引用(retain cycle)
2.去除block产生的告警时,需注意问题。...
分类:
移动开发 时间:
2014-07-24 23:14:13
阅读次数:
324
1.OC中内存管理方式分MRC和ARC两种MRC:手动管理引用计数。ARC:自动管理引用计数。ARC实现的原理是MRC。2.引起引用计数变化的方法加1:alloc,retain,copy;减一:release(引用计数立即减一),autorelease(在未来的某个时刻引用计数减一,这个时刻跟au....
分类:
其他好文 时间:
2014-07-24 22:26:22
阅读次数:
229
1.ARC 当你自己调用了release或retain语句的时候,ARC有效时编译文件会遇到错误,你可以通过-fno-objc-arc和-fobjc-arc两个编译器标志在混搭中支持ARC和非ARC的代码 如下面编译支持ARC,而文件代码不支持ARC # if !__has_feature(objc...
分类:
移动开发 时间:
2014-07-24 10:17:03
阅读次数:
170
一般是程序中的某一个对象被release 了两次 一般情况下是与你定义的类型有关这里面我的错误是吧 NSString 类型的变量的属性 设置为了 assign 了 目测与这个有关补充object-c 基础property,assign,copy,retain,releaseproperty:属性的定...
分类:
其他好文 时间:
2014-07-23 15:02:36
阅读次数:
163
从iOS5以来,引入了AutomaticReferenceCount(ARC)自动引用计数,就是obj-c对象每被“使用”一次,引用计数就会+1,当引用计数为0时,系统就会回收内存。这些都是由编译器自己完成的。而非ARC在OC程序中就是:自己alloc的要release,retain/copy的相应的也要release,这是传说中..
分类:
其他好文 时间:
2014-07-23 00:19:38
阅读次数:
315