objective-c - 如何让 xcode 8 对可为空的 block 指针发出警告?

标签 objective-c xcode nullpointerexception nullable

测试最近的可为空/非空注释我编写了简单的基本方法:

- (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/

相关文章:

java - 不幸的是(android应用程序)已经停止了。空指针异常

java - 空指针异常 getDefaultSharedPreferences()

objective-c - iOS 动画性能

objective-c - - 谁应该负责调用 runModalForWindow - Controller 或初始化 Controller 的人

OS X 应用程序的 XCode 5 远程调试

java - 尝试对空对象引用调用接口(interface)方法 'java.lang.Object[] java.util.Collection.toArray()'

objective-c - Objective C - 调节GDC线程以限制CPU使用

objective-c - 如何使用 Core Graphics 绘制箭头?

xcode - 非泛型 Swift 类可以实现 UIPickerViewDataSource 但泛型版本不能

ios - 在 Xcode 上创建项目后,我删除了默认的 viewController 并创建了一个新的。但是项目没有运行