我正在为类添加nullability说明符,并且我有一些指针到指针的输出参数,如(NSString**)
,因为该方法返回多个对象。如何为此指定可为空性?
对于这些特殊情况,我希望调用者不传入NULL,但我不在乎它们是否传递指向nil变量的指针(或者更确切地说,是预期的)。
起初我尝试(nonnull NSString**)
,经过几轮Xcode建议的修复后,以(NSString* _Nonnull *)
结束,但第二个*仍有警告,“指针缺少可空性类型说明符” ,没有建议的修复。
答案 0 :(得分:10)
你有两个指针,所以你需要两个可空性说明符。
- (void)someMethod:(NSString * _Nullable * _Nonnull)out
这意味着您必须传入非空指针,但可能会返回null结果。
这将失败:
[someObject someMethod:nil];
这将有效:
NSString *result = nil;
[someObject someMethod:&result];