objective-c - 自动引用计数 : Pointer to non-const type 'NSError *' with no explicit ownership

标签 objective-c ios ios5 automatic-ref-counting

在更新我的一些代码以与 iOS 5 SDK 兼容时,我试图通过在 Xcode 中使用“转换为 Objective-C ARC”来重构我的代码,但收到错误消息。错误发生在我的 .h 文件中的实例变量上。

NSError **_error;

错误显示“指向没有明确所有权的非常量类型‘NSError *’的指针。”我该如何解决这个问题?

最佳答案

您可以使用 Transitioning to ARC Release Notes 中描述的生命周期限定符之一。

对于 NSError ** 你会使用 __autoreleasing 所以 Nikolai 提供的例子看起来像这样

@interface Foo : NSObject
{
    NSError * __autoreleasing *error;
}

语法有点奇怪,你应该遵循 Nikolais 的建议,但如果你确定 NSError ** 是你想要的,那么它应该可以工作。

关于objective-c - 自动引用计数 : Pointer to non-const type 'NSError *' with no explicit ownership,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7804435/

相关文章:

ios - Cocoapod路径引用错误

iOS5 打破了 UISplitViewController 旋转回调,如何手动调用?

iphone - 在 Xcode 4.2、iOS 5.0 Beta 中创建 IPA 文件

ios - 如何将 SuperClass 对象转换为 SubClass [objective -c]

objective-c - NSSet 实现

objective-c - Objective-C 中的 "Invalid application of ' sizeof ' to interface ' 小数 ' in non-fragile ABI"

ios - UILocalNotification 已触发但未安排

iOS PWA 独立 : how to force opening in a new window

ios - 在 UITableViewCell 中显示每个字典值

objective-c - 理解 iOS 泄漏调用堆栈跟踪