给出以下示例:
- (BOOL) doSomething: (NSError**) pError
{
*pError = [NSError ....];
}
分析器将返回以下错误:
潜在的 null 取消引用。根据“创建和返回 NSError 对象”中的编码标准,该参数可能为空。
建议将其更改为:
- (BOOL) doSomething: (NSError**) pError
{
if(pError)
{
*pError = [NSError ....];
}
}
但我更愿意在错误参数中添加一个非空属性,以阻止使用传递空值。我无法弄清楚如何让这个论点正确。双指针是否有可能具有非空属性?