如何修复警告'没有明确的所有权'

时间:2014-03-24 11:36:54

标签: objective-c xcode pointers warnings

我有将间接指针作为参数的方法,然后,如果错误,将其设置为错误对象。我试图尽可能多地打开警告。但其中一个 - Implicit ownership types on out parameters - 会在此方法中生成警告:

- (id)doWithError:(NSError **)error {
    ...
}

如何修复代码以删除警告?

1 个答案:

答案 0 :(得分:10)

您可以通过将方法声明为

来修复该警告
- (id)doWithError:(NSError * __autoreleasing *)error {
    // ...
}

隐含地假设__autoreleasing所有权限定符用于" out-parameters" (参见" 4.4.2间接参数"在Clang/ARC documentation中), 因此明确添加它不会改变代码。