我在我的应用中使用了CoreData。现在添加一个新条目并尝试保存它。我不知道为什么,但它失败了Thread 1: signal SIGABRT
这是我的保存部分:
var error: NSError? = nil
if !context.save(&error) {
abort()
}
在这行代码中崩溃了:
abort()
有人知道为什么会发生这种情况并且我可以解决它吗?如果这可能是一个原因,我也使用iCloud Sync。非常感谢你的帮助!
答案 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期。