9
我有方法,採用間接指針作爲參數,然後,如果錯誤,將其設置爲錯誤對象。我試圖儘可能多地發出警告。但其中之一 - Implicit ownership types on out parameters
- 以此方法生成警告:如何解決警告'沒有明確的所有權'
- (id)doWithError:(NSError **)error {
...
}
如何修復代碼以刪除警告?
我有方法,採用間接指針作爲參數,然後,如果錯誤,將其設置爲錯誤對象。我試圖儘可能多地發出警告。但其中之一 - Implicit ownership types on out parameters
- 以此方法生成警告:如何解決警告'沒有明確的所有權'
- (id)doWithError:(NSError **)error {
...
}
如何修復代碼以刪除警告?
可以通過聲明你的方法
- (id)doWithError:(NSError * __autoreleasing *)error {
// ...
}
的__autoreleasing
所有權限定符隱含地假設爲「輸出參數」修復警告 (見Clang/ARC documentation「4.4.2間接參數」), 因此明確添加它不會更改代碼。
工作!謝謝!但不知何故,它不適用於另一種方法' - (id)doWithItemTags:(NSMutableDictionary * __autoreleasing *)itemTags' – Ossir
@Ossir:我不能再現這個問題。 ' - (id)doWithItemTags:(NSMutableDictionary * __autoreleasing *)itemTags'不會導致編譯器警告我,甚至沒有'-Weverything'。 –
我已經清理過它並建立了幾次,警告仍然存在:https://www.dropbox.com/s/bg62g4vfjk340z1/Screenshot%202014-03-24%2015.00.49.png我將嘗試刪除派生的數據 – Ossir