Ios 在Swift中释放对象

Ios 在Swift中释放对象,ios,swift,Ios,Swift,我是Swift的新手,想知道是否有人能帮助我确认我对在苹果的Swift中发布对象的理解 所述的CGPathCreateWithRect()文档说明返回值为 “一个新的、不可变的路径。您负责发布此路径 对象。” 当它说“你有责任”时,它是否像说当你不再持有引用时垃圾收集器将删除该对象那样简单?也就是说,你负责管理参考资料?在这种情况下,这不是很明显吗?如果不是,这意味着什么 谢谢 BryoniOS中没有垃圾收集。请参阅上的苹果文档和概念,以便更好地理解该评论和这里的范式转变 此外,在Swift中,

我是Swift的新手,想知道是否有人能帮助我确认我对在苹果的Swift中发布对象的理解

所述的
CGPathCreateWithRect()
文档说明返回值为

“一个新的、不可变的路径。您负责发布此路径 对象。”

当它说“你有责任”时,它是否像说当你不再持有引用时垃圾收集器将删除该对象那样简单?也就是说,你负责管理参考资料?在这种情况下,这不是很明显吗?如果不是,这意味着什么

谢谢


Bryon

iOS中没有垃圾收集。请参阅上的苹果文档和概念,以便更好地理解该评论和这里的范式转变

此外,在Swift中,您不需要使用此选项。您可以创建一个实际对象,并将包含的CGPathRef传递给任何可能需要它的低级函数。

只有在使用Objective-C时,您才负责

内存管理对象

从注释的API返回的核心基础对象是自动的 在Swift中管理的内存无需调用CFRetain, CFRelease或CFAutorelease可自行运行


你真的应该看看WWDC 2011的ARC视频。它们可以在开发者网站上获得,并通过iTunes打开。特别是:

•第323课时-引入自动参考计数

•第322课时-目标C深入推进

此外,ARC参考注释:

参考说明和视频都讨论了核心图形(等)以及它们如何与ARC一起工作

具体来说,请看“管理免费桥接”一节

在许多Cocoa应用程序中,需要使用核心基础样式 对象,无论是从核心基础框架本身(如 CFArrayRef或CFMutableDictionaryRef)或采用 核心基础约定,如核心图形<强>(您可以使用) 类型,如CGColorSpaceRef和CGGradientRef)

编译器不会自动管理内核的生命周期 基础对象;您必须调用CFRetain和CFRelease(或 相应的特定类型变体)由核心指定 基础内存管理规则(参见内存管理编程) 核心基础指南)

如果在Objective-C和Core Foundation样式对象之间进行强制转换,则 需要告诉编译器对象的所有权语义 使用强制转换(在objc/runtime.h中定义)或核心 基础样式宏(在NSObject.h中定义):[…]


Swift中没有
垃圾收集器。阅读此文以了解其工作原理:谢谢瓦迪安。经过一系列的阅读和测试,情况似乎是这样。