xcode6 里面 release retain retainCount为什么用不成了

箍心而行 2014-07-14 01:09:09
一调用就报错 为什么?
...全文
363 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
virtualxmars 2014-07-14
  • 打赏
  • 举报
回复
是的,记得遵守苹果的代码命名规范即可——避免以alloc, copy, mutableCopy, new作为属性或者方法的前缀,因为它们会影响ARC的行为
箍心而行 2014-07-14
  • 打赏
  • 举报
回复
引用 7 楼 dream238 的回复:
[quote=引用 6 楼 a85454597 的回复:] 额 才开始学到内存管理那 结果发现xcode里那么写直接报错。。。。 如果内存管理交给系统自动维护了 是不是内存管理就不用学习了?
当然还是要学习呀,了解内存管理的原理和方法,对提高代码质量还是很有帮助的。[/quote] 好吧 我看教程视频里面的代码 各种 retain release 是不是现在的项目代码里就不用写这些来
virtualxmars 2014-07-14
  • 打赏
  • 举报
回复
ARC实际上是编译器帮你插入了retain, release,autorelease等调用,虽说大多数时候,你可以不再关心这些事情,但了解ARC背后的原理还是很重要的。例如什么时候用weak引用,什么时候用unsafe_unretain,什么时候用assign;retain cycle是什么,应该怎么避免它们……这些都是很重要的概念。不过倒是可以在后面慢慢学习,作为高级技能来掌握
ArcRain 2014-07-14
  • 打赏
  • 举报
回复
引用 6 楼 a85454597 的回复:
额 才开始学到内存管理那 结果发现xcode里那么写直接报错。。。。 如果内存管理交给系统自动维护了 是不是内存管理就不用学习了?
当然还是要学习呀,了解内存管理的原理和方法,对提高代码质量还是很有帮助的。
箍心而行 2014-07-14
  • 打赏
  • 举报
回复
引用 5 楼 virtualxmars 的回复:
苹果从iOS5开始,就引入了ARC这种内存管理技术,目的就是消除繁琐而容易出错的手工内存管理行为。如果项目是ARC的,那么就不能调用原来的retain, release, autorelease,而且dealloc也不再需要内存维护相关的代码。 具体可参见苹果官方文档 高级内存管理指南
额 才开始学到内存管理那 结果发现xcode里那么写直接报错。。。。 如果内存管理交给系统自动维护了 是不是内存管理就不用学习了?
virtualxmars 2014-07-14
  • 打赏
  • 举报
回复
苹果从iOS5开始,就引入了ARC这种内存管理技术,目的就是消除繁琐而容易出错的手工内存管理行为。如果项目是ARC的,那么就不能调用原来的retain, release, autorelease,而且dealloc也不再需要内存维护相关的代码。 具体可参见苹果官方文档 高级内存管理指南
ArcRain 2014-07-14
  • 打赏
  • 举报
回复
引用 3 楼 a85454597 的回复:
那xcode6 里面就不需要调用这几个了? 会自动帮你计算引用计数么?
默认工程配置下 不需要加了,编译器会自动处理的。 如果更改工程为非ARC,那么还是要加的。
箍心而行 2014-07-14
  • 打赏
  • 举报
回复
引用 1 楼 dream238 的回复:
因为工程默认是ARC的,自动管理了对象生命周期计数器的调用。 ARC环境下,不需要显示的使用release retain retainCount
那xcode6 里面就不需要调用这几个了? 会自动帮你计算引用计数么?
myhmsdn_1314 2014-07-14
  • 打赏
  • 举报
回复
ArcRain 2014-07-14
  • 打赏
  • 举报
回复
因为工程默认是ARC的,自动管理了对象生命周期计数器的调用。 ARC环境下,不需要显示的使用release retain retainCount

29,030

社区成员

发帖
与我相关
我的任务
社区描述
主要讨论与iOS相关的软件和技术
社区管理员
  • iOS
  • 大熊猫侯佩
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧