问题标签 [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 投票
8 回答
122483 浏览

ios - 我可以使用 Objective-C 块作为属性吗?

是否可以使用标准属性语法将块作为属性?

ARC有什么变化吗?

0 投票
5 回答
42093 浏览

ios - Objective-C 中的自动引用计数不能防止或最小化什么样的泄漏?

在 Mac 和 iOS 平台中,内存泄漏通常是由未释放的指针引起的。传统上,检查您的分配、复制和保留以确保每个都有相应的发布消息一直是最重要的。

Xcode 4.2 附带的工具链在最新版本的LLVM 编译器中引入了自动引用计数 (ARC),通过让编译器为你管理你的东西,完全解决了这个问题。这很酷,它确实减少了许多不必要的、平凡的开发时间,并防止了许多粗心的内存泄漏,这些泄漏很容易通过适当的保留/释放平衡来修复。当您为 Mac 和 iOS 应用程序启用 ARC 时,甚至自动释放池也需要以不同的方式进行管理(因为您不应再分配自己的NSAutoreleasePools)。

但是还有哪些其他内存泄漏不能阻止我仍然需要提防?

作为奖励,Mac OS X 和 iOS 上的 ARC 和 Mac OS X 上的垃圾收集有什么区别?

0 投票
4 回答
27201 浏览

objective-c - 自动引用计数下,为什么不允许retain、release、dealloc?

当尝试使用-retain,-release-dealloc在 Xcode 4.2 中使用自动引用计数构建我的应用程序时,我收到如下错误:

自动引用计数禁止“dealloc”的显式消息发送

为什么我看到这个错误?在自动引用计数下是否不再允许使用-retain-release和?-dealloc

0 投票
7 回答
57599 浏览

iphone - iOS 5 最佳实践(发布/保留?)

作为一个初学 iPhone 程序员,编写适用于 iOS 5 或更早版本的应用程序的最佳实践是什么?具体来说,我应该继续使用数据的发布/保留,还是应该忽略它?有关系吗?

0 投票
10 回答
79950 浏览

objective-c - 语义问题:属性的合成 getter 遵循 Cocoa 命名约定以返回“拥有”对象

我目前正在使用 iOS 5 SDK 尝试开发我的应用程序。我正在尝试使 NSString 成为属性,然后在 .m 文件中合成它(我之前已经这样做了,没有任何问题)。现在,我遇到了这个问题:“语义问题:属性的合成 getter 遵循 Cocoa 命名约定以返回‘拥有’对象。”

这是我的代码:.h

.m

有谁知道我该如何解决这个问题?谢谢!!

0 投票
2 回答
34890 浏览

iphone - 错误“自动释放”不可用:在自动引用计数模式下不可用

我尝试使用 Stig 的 JSON 库发出 HTTP 请求并解析 JSON。我收到此错误“自动释放”不可用:当我使用此代码时,在自动引用计数模式下不可用


更新

对于任何感兴趣的人,这是正确的代码: NSURLRequest *request2; request2 = [NSURLRequest requestWithURL:[NSURL URLWithString:[NSString stringWithFormat:@" http://sandbox.CompanyName.com/api/%@/users/%@/user_badges?url=CompanyName.map2.com&amount=999999999999 ",[信息 stringForKey:@"apiKey"] , [信息 stringForKey:@"userID"]]]];

0 投票
5 回答
55421 浏览

objective-c - 关于iOS5 SDK中自动引用计数的一些问题

我目前正在为 iPad 开发一个应用程序。开发从 iOS 4.2 开始,现在正在继续(我认为将会完成)iOS 4.3。我刚刚阅读了 iOS 5 中的 ARC,基本上我明白我们将不再需要释放和保留对象了。我的问题是:

  1. 如果我决定升级到 iOS 5,是否需要从我的代码中删除所有[myObject retain][myObject release]语句?

  2. 如果我使用 ARC 为 iOS 5 开发新应用程序,我是否需要实施某种“复古兼容性”检查?即:我需要检查iOS的版本并相应地调用retain和release吗?那么,基本上,ARC 是适用于所有 iOS 版本还是仅适用于 iOS 5?

0 投票
2 回答
1411 浏览

iphone - _var 和 self.var 之间的区别

随着所有这些新的 ARC 东西(不属于 NDA...)的出现,处理属性的默认设置似乎是在实现文件中显式设置没有和 ivar 的属性,直到您将其与以下内容合成:

设置变量的最佳做法是什么?var我知道和之间的区别self.varself.var使用点表示法和使用 var 的 setter 方法。

是否_var相当于在头文件中设置它,就像在过去那样?用下划线开头的这种做法从何而来?

0 投票
6 回答
60158 浏览

objective-c - 新的自动引用计数机制是如何工作的?

有人可以向我简要解释一下 ARC 的工作原理吗?我知道它与垃圾收集不同,但我只是想知道它是如何工作的。

另外,如果 ARC 在不影响性能的情况下完成了 GC 的工作,那么 Java 为什么要使用 GC?为什么它也不使用ARC?

0 投票
2 回答
885 浏览

ios - 自动引用计数 (ARC) 应用程序是否允许进入 App Store?

由于 ARC 将在 4.0 中工作,我们现在可以使用 LLVM3 编译我们的应用程序并将它们放入 App Store 吗?

还是我们必须等到 Xcode 4.2 发布?