内存管理之 ARC 和 自动释放池一、ARC 中的变量所有权修饰符变量修饰符,主要用来标识对象的生命周期.在手动内存管理方式中没有这些概念.
ARC 环境下变量所有权修饰符主要有以下几个: __strong
__weak
__unsa_unretained
__autoreleasing详细说明:
(1) 变量默认值都是__ strong 修饰
只要强引用存在,对象就不能释放.当超过了对...
分类:
其他好文 时间:
2015-06-30 22:05:09
阅读次数:
165
Find the Weak Connected Component in the Directed GraphFind the number Weak Connected Component in the directed graph. Each node in the graph contains...
分类:
其他好文 时间:
2015-06-29 14:33:09
阅读次数:
125
网上参考OBJC写的用ScrollView图片轮播效果,照着画了个,先上效果图:附上代码: 1 @IBOutlet weak var pc: UIPageControl! 2 @IBOutlet weak var sv:UIScrollView! 3 4 var timer...
分类:
编程语言 时间:
2015-06-27 16:22:05
阅读次数:
197
UI 控件懒加载问题:1, 什么时候使用懒加载加载UI控件?2, 加载控件的什么属性?3, 用什么类型的指针修饰控件?code : (ARC)定义属性,@property(nonatomic,weak) UIButton *customBtn1;重写getter方法-(UIButton *)cust...
分类:
其他好文 时间:
2015-06-26 17:49:55
阅读次数:
150
要求找到4个整数Np、Nq、Nr、Ns(1<= p < q < r < s Ns > Np > Nr or Nq < Ns < Np < Nr。
先看第一种情况,下标第二大的,值最大,而下标第三大的,值最小,下标最小和最大的都插在了中间,确定这个要求后,先想到dfs求解,但是考虑到5000这个数量比较大,怕函数进出栈太慢。
直接枚举四个值时间复杂度又太高了,所以只枚举两个,枚举Ns和Np,然后记录找到Nq和Nr。
用了两个标记数组, l[i][j] 表示下标小于j且值比Ni大的...
分类:
其他好文 时间:
2015-06-26 16:23:30
阅读次数:
115
遇到 delloc 没有调用 基本上就可以断定是循环引用造成的了。
而遇到这种情况基本上可以分为
1: 属性声明weak的地方 写成了 strong ,比如delegate。
2: block语法块中 存在的强引用。
所以遇到delloc 基本上排查下这两种情况 就能解决80%的问题了。
但是现实中往往会有遇到一些其他的问题所在 ,比如 我今天遇到的一个viewcontrolle...
分类:
其他好文 时间:
2015-06-26 16:22:35
阅读次数:
93
1. 假设你用malloc分配了一块内存,并且把它的地址赋值给了指针a,后来你希望指针b也共享这块内存,于是你又把a赋值给(assign)了b。此时a 和b指向同一块内存,请问当a不再需要这块内存,能否直接释放它?答案是否定的,因为a并不知道b是否还在使用这块内存,如果a释放了,那么b在使用这块内存...
分类:
其他好文 时间:
2015-06-26 14:58:41
阅读次数:
78
@interface ViewController ()
@property (weak, nonatomic) IBOutlet UIBarButtonItem *backItem;
@property (weak, nonatomic) IBOutlet UIBarButtonItem *forwardItem;
@property(nonatomic,weak)UIWebView * ...
分类:
Web程序 时间:
2015-06-26 13:34:28
阅读次数:
164
#import "ViewController.h"
@interface ViewController ()
@property(nonatomic,weak)UIWebView* web;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
...
分类:
Web程序 时间:
2015-06-26 12:57:46
阅读次数:
157
使用 weak–strong dance 技术block 可以直接引用 self,但是要非常小心地在 block 中引用 self。因为在 block 引用 self,可能会导致循环引用。如下例所示:[objc] view plaincopy@interfaceKSViewController(){...
分类:
其他好文 时间:
2015-06-26 12:35:37
阅读次数:
164