测试最近的可为空/非空注释我编写了简单的基本方法:
- (void)testAnalyzer:(nullable void (^)(BOOL success))completion
{
// Do stuff
completion(YES);
}
我希望编译器拒绝这段代码,或者至少标记它要求我在 completion()
调用周围添加一个条件,但 xcode 并不介意。另一方面,如果我将参数设置为 nonnull
,那么 xcode 将不会编译将 nil 传递给该方法的代码。
查看 xcode build设置,我看到一个名为“Misuse of 'nonnull'”的设置,因此没有与“Misuse of 'nullable'”等效的设置?
最佳答案
你不能。至少,我看不到你能做到的方法。
在 rdar://30309846 中捕获。
感谢您的提问——编译器确实应该捕获这一点。
关于objective-c - 如何让 xcode 8 对可为空的 block 指针发出警告?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41984342/