【发布时间】:2015-12-07 06:56:56
【问题描述】:
在 Swift 中强制崩溃的最简单方法是什么?
我只想使用一行代码(我可以快速添加的东西)。
我不想使用断点,我真的希望应用程序崩溃。
【问题讨论】:
-
试试
abort()函数
标签: ios iphone macos swift ipad
在 Swift 中强制崩溃的最简单方法是什么?
我只想使用一行代码(我可以快速添加的东西)。
我不想使用断点,我真的希望应用程序崩溃。
【问题讨论】:
abort()函数
标签: ios iphone macos swift ipad
import Darwin
exit(0)
C 库函数
void exit(int status)立即终止调用进程。属于该进程的所有打开的文件描述符都将关闭,并且该进程的任何子进程都由进程 1 init 继承,并且进程父进程会收到一个 SIGCHLD 信号。
1/0
var a = 0
override func viewDidLoad() {
super.viewDidLoad()
_ = 1/a
【讨论】:
反转范围,
21...3
线程 1:致命错误:无法使用 upperBound
形成 Range
【讨论】:
如果你有一个整数变量,你可以将它乘以整数限制。 (UInt的类似方法)
【讨论】:
您可以简单地尝试访问一个具有 nil 值的可选值...如果您已经声明了一个变量并且它是一个可选值,只需调用它(不要忘记打开包装),它肯定会崩溃
【讨论】:
通常你会使用
fatalError()
或
preconditionFailure()
为此。
它们的作用完全相同:终止程序,因此该语句之后的代码永远不会被执行。所有具有此行为的函数都使用@noreturn 属性进行注释
你也可以这样做:
func getInt() -> Int {
fatalError()
}
该函数应该返回一个 Int,但由于程序永远不会到达那个点,所以您不必返回任何内容。
【讨论】:
[0][1]
这会尝试访问单元素数组的第二个元素。
【讨论】:
[][0] 短了一个字符?
fatalError()那样自我记录。
0/1 少了三个字符?
0/1 == 0 :-)