|
|
1
26
|
|
|
2
26
rules
Core Foundation中的内存管理与Cocoa中的类似:如果返回引用的方法包含单词“create”或“copy”,则您拥有该引用,并且必须调用
在您的示例中
请注意,这仅适用于免费桥接类。我的理解是,很难制作自己的免费桥接类,只有原始(字符串、数组等)CF类是免费桥接的,所以这种方法并不总是有效。最后,如果你能避免使用
|
|
|
3
4
另一个还没有人提到的小问题是,一些CF类与NS类有一个“免费桥梁”。
other StackOverflow question 了解更多信息。 |
|
|
4
3
我建议你阅读苹果的 guide 对Core Foundation内存管理进行了深入探讨。他们也有类似的通用Cocoa内存管理指南。
要释放CF对象,您可以调用
|
|
|
5
3
对于ARC,您可以使用。
“__bridge_transfer”将所有权转移给ARC,因此您不需要任何进一步的释放调用。 |
|
|
Noah H · 如何通过终端或Swift禁用三指轻拍手势? 7 年前 |
|
|
Dmitry Serov · 货币数字格式-数字为整数时省略分数部分 7 年前 |
|
|
Duny · ObjC日期始终返回2017年12月25日 7 年前 |
|
|
Jan Kaiser · NSButton不调用其操作 7 年前 |