- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在尝试将旧代码转换为 ARC 代码。但是,我在以下行收到构建错误
[[token retain] autorelease];
我按以下顺序收到 3 个错误:
-'autorelease'不可用:在自动引用计数模式下不可用
-[rewriter] 删除未使用的“autorelease”消息是不安全的;它的接收器可能会立即被销毁
-ARC 禁止'自动释放'的显式消息发送
如果我删除这一行,代码就能正确编译
最佳答案
如果仅此而已,您可能只需将其删除即可。该代码声明对该对象的引用,但也表示您不想担心稍后释放,但使用 ARC 您不必担心它。
我猜 Xcode 没有自动删除它是因为缺少上下文。如果它位于更常见的位置,例如在 return 语句中,那么意图是什么就很明显了。当它完全独立时,它可能会(但可能不会)变得更复杂。
关于objective-c - autorelease 不允许编译代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12326591/
当我们编写 [Obj autorelease] 时会发生什么? 例如: NSAutoreleasePool *pool = [[NSAutoreleasePool alloc]init]; NSM
执行下面的代码会发生什么? Ball *ball = [[[[Ball alloc] init] autorelease] autorelease]; 最佳答案 让我们分解一下: [Ball allo
我有一个运行良好的应用程序。然后我尝试将导航 Controller 嵌入到 tabbarcontroller 中,接下来我知道我在编译过程中开始遇到这些错误。 有人知道为什么会这样吗?某些设置是否被意
在我使用 autorelease 的大部分代码中,对象最终从函数返回。显然 release 不能在此时调用,而 autorelease 是要走的路。然而,在对象将要传递给另一个将保留它的对象的情况下,
我希望开发一个应用程序,其中将根据用户的交互创建“n”个 View 。如果这些 View 中的每一个都是使用 autorelease 动态创建的,那么该 View 何时会真正被释放? 假设有 10 个
在手动内存管理中,你会在哪些场景下进行自动释放 我想做好充分的准备,因为我即将进行一个不使用 ARC 的项目 最佳答案 当您需要从方法返回一个对象并同时放弃所有权时,您通常会使用 autoreleas
- (void)foo { @try { for (id o in os){ @autoreleasepool {
不确定是否有人知道不断重用的 UITableViewCell 数量是否存在实际限制......?首先,我非常了解所有 Obj-C/Apple 内存管理规则,(我将首先声明这一点,这样我不会浪费任何人的
或者:这个 UILabel 用法怎么可能生成 NSMutableDictionary NSInvalidArgumentException? 这是一个非 ARC iOS 应用程序。当 showLabe
这个问题在这里已经有了答案: 关闭 10 年前。 Possible Duplicate: Im getting this error ‘autorelease’ is unavailable: no
我正在尝试将旧代码转换为 ARC 代码。但是,我在以下行收到构建错误 [[token retain] autorelease]; 我按以下顺序收到 3 个错误: -'autorelease'不可用:在
我正在为 iPhone、objective-c 开发。当我们使用自动释放时,对象什么时候真正被释放——当主自动释放池被释放时(即应用程序终止?),或者当本地函数结束时?例如,我想做这样的事情: - (
抱歉,我是 cocoa 编程的新手,我不确定我是否真正理解 nsautoreleasepool 的工作原理。 我读到的所有地方都说 NSAutoreleasePool 负责所有自动释放调用(谈论最后声
我有一个简单的函数,在解码后返回一个 NSString 。我在我的应用程序中经常使用它,每次使用它时,它似乎都会造成内存泄漏(根据“泄漏”工具)。 Leaks 告诉我问题出在我分配要返回的 NSStr
我的应用程序结构如下,核心部分是用 C++ 编写的,并大量使用线程,我正在其上用 Objective C 开发 UI,如果我不执行线程,它工作正常,但我无法禁用、停止线程,UI 在日志中随机崩溃,我可
我的 TableView 有一个自定义单元格,它是我使用界面生成器设计的。在它的 .m 文件中,我有一些这样的代码来从自定义单元格的包中获取 xib。 - (id)initWithStyle:(UIT
我是 IOS 开发的新手,我已经开始学习 objective-c 以针对 IOS 7 进行编程。据我所知,由于自动引用计数,现在编码比以前容易得多。有几件事我不明白。在 MAIN 方法中我们有 aut
假设以下代码, NSString *str=[[NSString alloc] initWithString:@"sagar"]; [str autorelease]; 我多次看到,大多数程序员确实更
clang 允许以下循环语法: for (...) @autorelease { ... } while (...) @autorelease { ... } do @autorelease { ..
从今天早上开始,当我尝试在一个带有 git 实例的项目上使用 gitk 时,它给了我以下错误。从今天起我就再也没有发生过这种情况,而且我已经使用 gitk 几个月了。 我能指出的唯一区别是,今天早上,
我是一名优秀的程序员,十分优秀!