问题标签 [automatic-ref-counting]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
18 回答
337657 浏览

objective-c - 如何为项目中的单个文件禁用 ARC?

我在我的项目中成功使用了 ARC。但是,我遇到了一些文件(例如,在单元测试和模拟对象中),其中 ARC 的规则现在有点脆弱。我记得听说有一种方法可以在每个文件的基础上禁用 ARC,尽管我一直找不到这个选项。

这可能吗?如何在每个文件的基础上禁用 ARC?

0 投票
1 回答
4824 浏览

objective-c - 使用自动引用计数 (ARC) 的指针转换问题

我的项目正在使用Automatic Reference Counting,我正在尝试使用以下 Accessibility API 函数:

要调用该函数,我正在做这样的事情:

但是,ARC 对最后一个参数抛出以下错误:

我该如何解决这个问题?

0 投票
2 回答
40263 浏览

objective-c - 为什么我不能再释放对象了?

更新到 Xcode 4.2 后,我无法再发布任何内容。当我开始输入“release”时,它建议“release”,但有一条红线。

如果我仍然写它,它会显示错误并显示以下两条消息:

“释放”不可用:在自动引用计数模式下不可用自动引用计数禁止显式发送“释放”消息

有谁知道我能做什么?

0 投票
1 回答
392 浏览

objective-c - Objective C 中的自动引用计数是如何工作的?

可能重复:
新的自动引用计数机制是如何工作的?

有人可以简洁地解释一下 Objective C 中的自动引用计数是如何工作的吗?

0 投票
3 回答
42015 浏览

objective-c - 将 Objective-C 指针类型“NSString *”转换为 C 指针类型“CFStringRef”(又名“const struct __CFString *”)需要桥接转换

将 Objective-C 程序转换为 Objective-C ARC 时,出现错误:

代码如下:

什么是桥接演员表?

错误截图

0 投票
6 回答
7667 浏览

objective-c - 使用 ARC,什么更好:alloc 或 autorelease 初始化程序?

使用初始化程序alloc是否更好(更快,更有效) 。autorelease例如:

或者

我知道在大多数情况下,这里的性能应该无关紧要。但是,我仍然想养成以更好的方式做这件事的习惯。

如果他们做的事情完全相同,那么我更喜欢后一种选择,因为它打字更短,可读性更强。

在 Xcode 4.2 中,有没有办法查看 ARC 编译到的位置,即它放置retainreleaseautorelease等的位置?此功能在切换到 ARC 时非常有用。我知道你不应该考虑这些东西,但它会帮助我找出这些问题的答案。

0 投票
3 回答
15981 浏览

objective-c - 在 ObjC 实现文件中声明的实例变量

我正在观看 WWDC ARC 介绍视频,当一些 Apple 工程师谈到 Stack 示例时,我看到了以前在 ObjC 中从未见过的东西。

以下代码用于 ARC 的堆栈示例:

请注意在@implementation指令之后声明的实例变量。

现在让我感到惊讶的是,一个实例变量实际上可以在实现文件中声明,而不是一个静态变量。我的问题如下:

  • 这是在 iOS 5 的 SDK 中引入的一些新结构,还是可能已经存在很长时间了?
  • 如果不在对象外部访问实例变量,那么在实现中声明实例变量是否是一种好习惯?看起来比使用 @private 指令更干净。
0 投票
1 回答
709 浏览

iphone - ARC 和局部变量

我目前正忙于将我的代码转换为 ARC,并且在使用局部变量时遇到了一些麻烦。因为它们只在编译器认为我需要它们时才保存在内存中,它们通常在最后一次调用它们的方法后被释放。

不幸的是,我的应用程序包含一个带有自定义内容的 HUD,例如 UIButtons。那些选择器指向 HUD 本身,所以我总是得到一个 EXC_BAD_ACCESS,因为控制器在实例化后被释放。

除了在我的类头中创建一个实例变量之外,还有什么解决方案吗?

0 投票
4 回答
22382 浏览

objective-c - ARC的正确桥接?

我有一个 NSString 的类别类。

我是否为 ARC 和新的 LLVM 使用了正确的桥接传输?

原代码:

0 投票
1 回答
746 浏览

objective-c - 既然 ARC 来了,我应该学习手动 Objective-C 内存管理吗?

我已经开始学习 Objective-C(之前没有编程经验),并且正在阅读 Kochan 的“Objective-C 编程(第 3 版)”。它应该是一个较新的版本(它于 2011 年 6 月发布,就在撰写本文时的一个月前),但它根本没有引用 ARC。文中的代码示例使用 NSAutoReleasePool 和发布,但我发现 Xcode 不希望我在实现 ARC 的情况下使用这些。

作为一个新程序员,我应该养成了解我的发布池/手动内存管理的习惯,还是应该坚持使用 ARC?