IOS的对象都继承于NSObject, 该对象有一个方法:retainCount ,内存引用计数。 引用计数在很多技术都用到: window下的COM组件,多线程的信号量,读写锁,思想都一样。(一般情况下: 后面会讨论例外情况)alloc 对象分配后引用计数为1retain 对象的引用计数+1cop...
分类:
其他好文 时间:
2015-05-26 23:24:34
阅读次数:
214
__weak typeof(self)weakSelf=self; dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ ...
分类:
其他好文 时间:
2015-05-26 20:44:37
阅读次数:
125
#import "ViewController.h"#import "Masonry.h"#define kWeakSelf(weakSelf) __weak typeof(self)weakSelf = self#define WS(weakSelf) __weak __typeof(&*sel....
分类:
移动开发 时间:
2015-05-26 18:02:52
阅读次数:
184
从一个弱引用导致的奔溃 谈 weak assign strong的应用场景.h中的定义方法一: @property (nonatomic, assign) NSArray *dataSource; 定义方法二 @property (nonatomic, strong) NSArray *dataSo...
分类:
移动开发 时间:
2015-05-26 06:43:09
阅读次数:
204
几次编写lua时。总是有同事遇到A中对象已经释放了。但B对象中A对象的值不是为空的。
Lua的gc和Java的类似。只有当对象没有被引用时候才会释放这块内存。要想实现A释放了B中A的值也释放了这时候需要用到弱引用。
setmetatable(t,{__mode="k"});
__mode 的值可以为"k","v","kv"
~ ~第一段代码中可以看到内...
分类:
其他好文 时间:
2015-05-24 15:50:26
阅读次数:
134
在swift 里引用循环的造成,主要有两个方法,
1.类之间的引用
2.clourse 闭包引用
解决办法:
weak references and unowned references. 也就是weak,unowned
weak, 来修饰可选的,? 结尾的,如:var weak city: String ?
unowned 来修身 一直存在的。 var unowned city: S...
分类:
其他好文 时间:
2015-05-19 16:43:14
阅读次数:
165
C++ 11提出了弱引用的概念,与strong reference(shared_ptr)相对的一个概念。使用的类型为:boost::weak_ptr. weak_ptr首先是一个模板,其次是无法直接访问对象,使用时必须将其转换成shared_ptr,最后这种指针...
分类:
编程语言 时间:
2015-05-19 13:18:13
阅读次数:
188
1、 声明变量时,声明我们自定义类的变量,使用strong来声明,如果声明成weak,则在上下滚动的时候,刷新不出来数据
总结如下:
copy用于NSString类型
strong 用于一般对象
weak 用于UI对象
assign 用于基本数据类型
2、 新建一个继承自UITableViewCell的类,控制器一定要继承自UITableViewCell,否则不加载,修改stroybo...
分类:
其他好文 时间:
2015-05-19 13:10:36
阅读次数:
207
l unique_ptr
:不允许多个指针共享资源,可以用标准库中的move函数转移指针
l shared_ptr
:多个指针共享资源
l weak_ptr
:可复制shared_ptr,但其构造或者释放对资源不产生影响...
分类:
编程语言 时间:
2015-05-18 22:57:19
阅读次数:
160
#import @interface ViewController : UIViewController@property (weak, nonatomic) IBOutlet UISwitch *leftswitch;@property (weak, nonatomic) IBOutlet UIS...
分类:
其他好文 时间:
2015-05-18 20:30:18
阅读次数:
138