2 weixin 28750559 weixin_28750559 于 2015.06.04 19:01 提问

oc基础知识请教NSArray
ios

NSArray *array=[[NSArray alloc] initWithObjects: @“One”, @“Two”,nil];

NSArray *array=[NSArray initWithObjects: @“One”, @“Two”,nil];
有什么区别呢?

6个回答

u014516034
u014516034   2015.06.04 20:11

alloc出来会使retainCount +1

weixin_28750559
weixin_28750559 使用的时候,加alloc就是内存里有个计数功能,和不加alloc使用的最终效果是一样的,对嘛?
2 年多之前 回复
chen_hua_feng
chen_hua_feng   2015.06.05 15:34

一个是实例方法,一个是类方法
效果没区别

weixin_28750559
weixin_28750559 使用的时候,加alloc就是内存里有个计数功能,和不加alloc使用的最终效果是一样的,对嘛?
2 年多之前 回复
AgoniNemo
AgoniNemo   2015.06.07 18:23

现在内存管理是ARC了,和楼上说的一样一个是实例方法,一个是类方法,没区别,我觉得加alloc的时候,计数器加一,不加,计数器不会加一,
内存管理的黄金法则
1、凡是alloc, retain, new, copy, mutableCopy 内存, 都要相对应release 或者autorelease;

u011988082
u011988082   2015.06.09 16:14

alloc会计数加一,看看内存ARC

zhao18933
zhao18933   2015.06.25 11:06

就像上面说的, 内存引用计数的差别
不过你第二句写错了,是 [NSArray arrayWithObjects: ]

Derek_miss
Derek_miss   2015.06.29 15:53

上面写的你都看一遍就行了

Csdn user default icon
上传中...
上传图片
插入图片