DTGridView崩溃问题总结

在项目中用到类似照片墙的表格实现,在网上找到DTGridView的开源实现,经过修改,达到预期效果,项目用的arc,但是DTGridView代码里没有,利用系统工具做了转换。在超出一屏时,复用旧DTGridViewCell单元格的时候,会崩溃,一直没有仔细查找原因。知道昨天,对DTGridView实现,重新理清了,知道为什么崩溃,是因为arc转换的时候,对原来的retain删掉了,现在变成了

for (DTGridViewCell *c in freeCells) {
		if ([c.identifier isEqualToString:identifier]) {
            
			[freeCells removeObject:c];
			[c prepareForReuse];
			return c;
		}
	}
c 从数组freeCells移除后,c指向的内存就释放了,造成了崩溃,

所以只需要引入另一个变量即可, DTGridViewCell *retCell = c; [freeCells removeObject:c]; [retCell prepareForReuse];return retCell;即可,问题解决。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值