让 swift 崩溃的最简单方法是什么?

What's the easiest way to make swift crash?

我想让 swift 崩溃,以测试我的应用程序的一些崩溃处理功能。

在 C++ 中,我通常取消引用 NULL 指针来执行此操作,如下所示:

int *i = 0;
*i = 42;

在 swift 中生成崩溃的最简单方法是什么?

您可以在 nil 可选变量上使用强制展开运算符:

let number: Int? = nil
let val = number!

那应该抛出这样的异常:

fatal error: unexpectedly found nil while unwrapping an Optional value

然而,您也可以使用更优雅的方式让您的应用程序崩溃,使用 fatalError 全局函数,它会停止程序执行 - 但它会接受一些可能有用的参数,具体取决于您使用的是什么努力实现:

@noreturn func fatalError(@autoclosure message: () -> String = default, file: StaticString = default, line: UWord = default)

让 swift 崩溃的更简单方法:

let testArray = ["1","2","3"]
let a = testArray[4]

这将抛出这样的异常:

fatal error: Array index out of range

因为您正在尝试访问该索引处不存在的数组成员。

其实我自己找到了另一种方法(虽然我不确定它是否iOS具体)。

只需调用 中止 即可完成工作:

abort()

只需在您的代码中添加 fatalError()。

fatalError()