デバッグが非常に困難である断続的なバグが発生しています。コアデータフェッチでEXC_BAD_ACCESS(コード= 1、アドレス= 0x10)
私は
EXC_BAD_ACCESS(コード= 1、アドレスは= 0x10の)コアデータに
class func getAll(context: NSManagedObjectContext) -> [Tag] {
var returnValue: [Tag] = []
do {
let fetchRequest = NSFetchRequest(entityName: Tag.entityName())
returnValue = try context.executeFetchRequest(fetchRequest) as! [Tag]
} catch {
}
return returnValue
}
バグを取得し、以下の方法から、次のエラーを取得していますが、extermely断続的です数100セッションごとにしか起こらないが、私はそれに対処する必要があるほど頻繁に出現している。行のコードブレークはreturnvalue = try context.execute...
デバッグから
- 、私の
fetchRequest
はnil
- ではありません、私の
context
ではありませんnil
- のreturnValueは
- 私backgroundContextが実行されている空の配列のデフォルト値を持っていますバックグラウンドスレッド
NSZombieFlagをオンにして、いくらかのメモリが解放されていないかどうかを確認しようとしましたここにアクセスしていますが、私はこれを引き起こしているのが困っています。どんなアイデアや洞察も大変ありがとうございます。
あなたは正しい方向にあなたを導く可能性がある、エラーをプリントアウトする必要があります。これをして、あなたの質問にエラーメッセージを入れてもいいですか?また、間違いかもしれませんが、NSFetchRequestではNSSortDescriptorを提供する必要があります。 – Jonathan
catchブロックに到達することはありません。到達した場合、クラッシュは発生しません。私はcatchブロックにエラーステートメントを追加しましたが、まだ到達しません。キャッチブロックには、不正なアクセスエラーではなく、コアデータフェッチエラーを防ぐためのブロックがあります。 – Unome
ソート記述子が必要です。それは間違いない。 Appleのドキュメントでは、「nilの値はソート記述子として扱われません」ということは、あなたがそれを提供しないときのデフォルト値です。 – Unome