blitz-time アプリ開発ブログ

Androidアプリ開発などのTips集

【SwiftUI開発】Fatal error: UnsafeRawBufferPointer with negative count

Swift UIでiOSアプリ開発をしている際によく遭遇するエラー。
f:id:mfblitz:20220403090923p:plain

CoreDataを使用してデータベースを作成し、ビルド。

ビルドは正常に終了するので、アプリを実行すると、直後に下記のエラーが発生する。

Fatal error: UnsafeRawBufferPointer with negative count

直訳すると、「負のカウントを持つUnsafeRawBufferPointer」。
意味がわかりません。

結論だけ言うと、作成した「データベース名」の指定を間違っている場合にこのエラーが出ます。

下記の通り、「LoadingDBList」という名称のデータベースを指定しているのですが、
f:id:mfblitz:20220403091302p:plain

実際のデータベースの名称は「Model」となっています。
f:id:mfblitz:20220403091324p:plain

プロジェクト作成時に「CoreData」を使用するをONにしてプロジェクトを作成すると、デフォルトでプロジェクトと同じ名前のデータベースが作成されるのですが、これとは異なる名称のデータベースを作成したり、デフォルト名を変更した場合に遭遇します。

コードでデータベースを使用する際の名称も更新する必要がありますが、これを忘れると発生するわけです。

何もわからずにCoreDataを使っていると、エラーの意味がわからずに迷ってしまいますね。。。