获取错误线程1 SIGABRT

时间:2015-10-23 22:35:36

标签: ios swift core-data crash sigabrt

我在我的应用中使用了CoreData。现在添加一个新条目并尝试保存它。我不知道为什么,但它失败了Thread 1: signal SIGABRT

这是我的保存部分:

    var error: NSError? = nil
    if !context.save(&error) {

        abort()
    }

在这行代码中崩溃了:

        abort()

有人知道为什么会发生这种情况并且我可以解决它吗?如果这可能是一个原因,我也使用iCloud Sync。非常感谢你的帮助!

1 个答案:

答案 0 :(得分:1)

您的代码完全符合预期。 Google for" Unix abort"。

NAME

abort - 生成异常进程中止  概要

包括

void abort(void);

说明

abort()函数会导致异常进程终止,除非信号SIGABRT被捕获且信号处理程序没有返回。异常终止处理至少包括fclose()对所有打开流和消息目录描述符的影响,以及为SIGABRT定义的缺省动作。 SIGABRT信号被发送到调用进程,就好像通过带有参数SIGABRT的raise()一样。 由abort()提供给wait()或waitpid()的状态将是SIGABRT信号终止的进程的状态。 abort()函数将覆盖阻塞或忽略SIGABRT信号。

返回值

abort()函数不会返回。  ERRORS

未定义任何错误。  实施例

无。  申请用途

捕获信号旨在为应用程序编写者提供一种可移植的方法来中止处理,不受任何实现提供的库函数的干扰。如果既未捕获也未忽略SIGABRT,并且当前目录是可写的,则可能会生成核心转储。  未来方向

无。  另见

exit(),kill(),raise(),signal(), 推导

源自SVID的第1期。

相关问题