0
少し新しいCoreDataです。コアデータdeleteObjectは、すべてのプロパティをnilに設定します。
私はそのはnilにobject
内のすべてのプロパティを設定し、私のNSManagedContext
オブジェクトにobject
とdeleteObject()
を呼び出します。とにかくこれを避けるために私にはありますか?私は無効にされたくありません。
私のプロジェクトはSwiftにあります。
少し新しいCoreDataです。コアデータdeleteObjectは、すべてのプロパティをnilに設定します。
私はそのはnilにobject
内のすべてのプロパティを設定し、私のNSManagedContext
オブジェクトにobject
とdeleteObject()
を呼び出します。とにかくこれを避けるために私にはありますか?私は無効にされたくありません。
私のプロジェクトはSwiftにあります。
あなたはCoreDataの目的を誤解しています。これは永続的なストアを管理する方法です。つまり、あなたのコンテキストを伝えるものが絶対的なものであることを意味します。したがって、deleteObject()
の場合、そのオブジェクトは削除の準備ができており、もうそれに触れるはずはありません。
代わりに、メモリ内で使用するためのNSManagedObjectの新しいコピーを作成できるミラーオブジェクトが必要です。あなたはこのようにすることができます。
struct MirrorManaged {
var text: NSString
}
class Managed: NSManagedObject {
@NSManaged var text: NSString
func copyToMemory() -> MirrorManaged {
return MirrorManaged(text: self.text)
}
}
'deleteObject()'は 'object'を完全に削除することになっています。 – vadian
@vadian:私はそれを理解しています。しかし、それをnsmanagedcontextから削除するだけで、自分のメモリではないのですか? –
その目的は何ですか?オブジェクトが削除されると、そのオブジェクトはなくなります。 – vadian