问题标签 [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.
ios - 我可以使用 Objective-C 块作为属性吗?
是否可以使用标准属性语法将块作为属性?
ARC有什么变化吗?
ios - Objective-C 中的自动引用计数不能防止或最小化什么样的泄漏?
在 Mac 和 iOS 平台中,内存泄漏通常是由未释放的指针引起的。传统上,检查您的分配、复制和保留以确保每个都有相应的发布消息一直是最重要的。
Xcode 4.2 附带的工具链在最新版本的LLVM 编译器中引入了自动引用计数 (ARC),通过让编译器为你管理你的东西,完全解决了这个问题。这很酷,它确实减少了许多不必要的、平凡的开发时间,并防止了许多粗心的内存泄漏,这些泄漏很容易通过适当的保留/释放平衡来修复。当您为 Mac 和 iOS 应用程序启用 ARC 时,甚至自动释放池也需要以不同的方式进行管理(因为您不应再分配自己的NSAutoreleasePool
s)。
但是还有哪些其他内存泄漏不能阻止我仍然需要提防?
作为奖励,Mac OS X 和 iOS 上的 ARC 和 Mac OS X 上的垃圾收集有什么区别?
objective-c - 自动引用计数下,为什么不允许retain、release、dealloc?
当尝试使用-retain
,-release
和-dealloc
在 Xcode 4.2 中使用自动引用计数构建我的应用程序时,我收到如下错误:
自动引用计数禁止“dealloc”的显式消息发送
为什么我看到这个错误?在自动引用计数下是否不再允许使用-retain
、-release
和?-dealloc
iphone - iOS 5 最佳实践(发布/保留?)
作为一个初学 iPhone 程序员,编写适用于 iOS 5 或更早版本的应用程序的最佳实践是什么?具体来说,我应该继续使用数据的发布/保留,还是应该忽略它?有关系吗?
objective-c - 语义问题:属性的合成 getter 遵循 Cocoa 命名约定以返回“拥有”对象
我目前正在使用 iOS 5 SDK 尝试开发我的应用程序。我正在尝试使 NSString 成为属性,然后在 .m 文件中合成它(我之前已经这样做了,没有任何问题)。现在,我遇到了这个问题:“语义问题:属性的合成 getter 遵循 Cocoa 命名约定以返回‘拥有’对象。”
这是我的代码:.h
.m
有谁知道我该如何解决这个问题?谢谢!!
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"]]]];
objective-c - 关于iOS5 SDK中自动引用计数的一些问题
我目前正在为 iPad 开发一个应用程序。开发从 iOS 4.2 开始,现在正在继续(我认为将会完成)iOS 4.3。我刚刚阅读了 iOS 5 中的 ARC,基本上我明白我们将不再需要释放和保留对象了。我的问题是:
如果我决定升级到 iOS 5,是否需要从我的代码中删除所有
[myObject retain]
和[myObject release]
语句?如果我使用 ARC 为 iOS 5 开发新应用程序,我是否需要实施某种“复古兼容性”检查?即:我需要检查iOS的版本并相应地调用retain和release吗?那么,基本上,ARC 是适用于所有 iOS 版本还是仅适用于 iOS 5?
iphone - _var 和 self.var 之间的区别
随着所有这些新的 ARC 东西(不属于 NDA...)的出现,处理属性的默认设置似乎是在实现文件中显式设置没有和 ivar 的属性,直到您将其与以下内容合成:
设置变量的最佳做法是什么?var
我知道和之间的区别self.var
是self.var
使用点表示法和使用 var 的 setter 方法。
是否_var
相当于在头文件中设置它,就像在过去那样?用下划线开头的这种做法从何而来?
objective-c - 新的自动引用计数机制是如何工作的?
有人可以向我简要解释一下 ARC 的工作原理吗?我知道它与垃圾收集不同,但我只是想知道它是如何工作的。
另外,如果 ARC 在不影响性能的情况下完成了 GC 的工作,那么 Java 为什么要使用 GC?为什么它也不使用ARC?
ios - 自动引用计数 (ARC) 应用程序是否允许进入 App Store?
由于 ARC 将在 4.0 中工作,我们现在可以使用 LLVM3 编译我们的应用程序并将它们放入 App Store 吗?
还是我们必须等到 Xcode 4.2 发布?