【原】NSMutableArray的alloc、init方法与array的区别疑问
在项目中的这个函数里面,[NSMutableArray array]与[[NSMutableArray alloc] init];有着较明显的区别
同样是建立一个NSMutableArray临时变量,为什么前者可以,后者在多次调用clearLastLine函数时会出错呢?
亟待解决!在TryIt.proj->FingerPaintView里面
- (void)clearLastLine {
NSMutableArray *lastLine = [NSMutableArray array];
if ([mDrawLines count] >= 1)
{
lastLine = [mDrawLines objectAtIndex:[mDrawLines count]-1];
[mRemovedLines addObject:lastLine];
[mDrawLines removeLastObject];
NSLog(@"%s:removed lines:%@",__FUNCTION__,mRemovedLines);
mCurrentLine = nil;
[self setNeedsDisplay];//系统会调用drawRect绘图
}
}
/
- (void)clearLastLine {
NSMutableArray *lastLine = [[NSMutableArray alloc] init];
if ([mDrawLines count] >= 1)
{
lastLine = [mDrawLines objectAtIndex:[mDrawLines count]-1];
[mRemovedLines addObject:lastLine];
[lastLine release];
[mDrawLines removeLastObject];
NSLog(@"%s:removed lines:%@",__FUNCTION__,mRemovedLines);
mCurrentLine = nil;
[self setNeedsDisplay];//系统会调用drawRect绘图
}
}
本文转自编程小翁博客园博客,原文链接:http://www.cnblogs.com/wengzilin/archive/2012/03/22/2411754.html,如需转载请自行联系原作者
【原】NSMutableArray的alloc、init方法与array的区别疑问相关推荐
- Objective-C中new与alloc/init的区别
为什么80%的码农都做不了架构师?>>> 在实际开发中很少会用到new,一般创建对象我们看到的全是[[className alloc] init],但是并不意味着你不会接触到n ...
- 一、new与alloc init的区别
源码: + new{id newObject = (*_alloc)((Class)self, 0);Class metaClass = self->isa;if (class_getVersi ...
- 数组的flat方法【Array.prototype.flat()】
数组的flat方法[Array.prototype.flat()] 一. 概念 flat() 方法会按照一个可指定的深度递归遍历数组,并将所有元素与遍历到的子数组中的元素合并为一个新数组返回. 二 ...
- numpy -- 基础方法操作 array和asarray数据类型常用基础方法
numpy 基础知识 一.引入包 import numpy as np 二.基础方法 1. Array(数组) rank:数组的维数 a.ndim # 返回维度 a = np.array([1,2,3 ...
- ndarray 与 array 的区别 关系,所以ndarray是一个类对象,而array是一个方法
ndarray 与 array 的区别 关系 置顶 wanglll* 2020-02-06 20:00:37 8455 已收藏 17 分类专栏: 数据分析 文章标签: numpy 版权 ndarr ...
- go/golang init()方法的调用
go/golang main() init()方法的调用 u011156212 · 2015-10-20 13:00:05 · 9965 次点击 · 预计阅读时间 1 分钟 · 27分钟之前 开始浏览 ...
- Jquery源码中的Javascript基础知识(四)— jQuery.fn.init方法
$() 即调用了jQuery.fn.init方法 jQuery = function( selector, context ) {return new jQuery.fn.init( selector ...
- IHttpModule.Init方法被执行多次的原因
(http://www.csharpwin.com/dotnetspace/446.shtml) 发现不少朋友跟我一样,错把IHttpModule.Init拿来当做Application_Start的 ...
- 构造函数的理解(构造函数与 init 方法)
0. 构造函数与 init 方法 构造方法内部禁止添加任何业务逻辑,如果有业务逻辑,请放在 init 方法中: 1. 构造函数的参数 以下为一个堆实现优先队列(堆的实现借助完全二叉树,而完全二叉树又可 ...
最新文章
- 姚班三兄弟3万块创业八年,旷视终冲刺港股
- 教程:9、网络通信工具
- Servlet简介与Servlet和HttpServlet运行的流程
- jQuery实现父窗口的问题
- h.264编码库x264实例
- 初学者学MvcMovie遇到的问题解决办法
- nssl1254-A(林下风气)【树形dp】
- 虚拟机本来有MySQL,后安装宝塔的MySQL导致MySQL不能启动报错
- ptyhon的列表与字典操作
- 第八届蓝桥杯第四题方格分割
- python资料-(转)python资料汇总(建议收藏)零基础必看
- 饿了么的架构设计及演进之路
- hashMap的具体实现
- Pronunciation Difference between /ʌ/ and /ɑ/
- 蓝牙防丢器原理和作用
- 全国哀悼日,我们也把博客灰一下吧
- 对不同角色用户设置不同的系统首页
- dat image 微信_微信Dat文件解码,PC微信加密图片解密工具
- 信用卡还款怎么分期,还款还是要技巧的
- python开发的项目管理软件_10 个超好用的免费开源项目管理软件