为了优化,居然还吃了一次坑

2016-02-27  本文已影响24人  brzhang

我为了避免在循环中重复实例化一个类,结果自己居然踩到了一枚地雷!真是大意了,还要测试时及时发现。

这是我最开始的代码:


Paste_Image.png

这是调试时,contents变量的内存数据


Paste_Image.png

这是我“优化”后的代码,注意,在循环体中去掉了content实例化,直接用外面那个content


Paste_Image.png

然后,下面这幅图就是优化后,contents的结果!!!


Paste_Image.png

问题分析

其实很简单,在swift中,甚至很多编程语言中,class类型都是引用类型,因此content其实都是一个,所以改来该去都是改的那一个,自然最终数组中的元素都会变成最后一个。
比如java里面也是也一样的,这里有一个测试

Paste_Image.png
上一篇下一篇

猜你喜欢

热点阅读