簡體   English   中英

默認情況下未分配核心數據可轉換屬性?

[英]Core-data transformable attribute not allocated by default?

我有一個帶有Transformable屬性的核心數據模型,該屬性稱為location 但是,當我使用initWithEntity:insertIntoManagedObjectContext:創建新實體時, locationnil

這是預期的行為嗎? 我期望實體中字段的所有內存都可以預先分配。 如果這是預期的行為,推薦的解決方法是什么? awakeFromInsertlocation分配內存是一個好主意嗎?

是的,這是預期的。 如果您尚未提供實體任何數據,它將如何知道要分配的大小。 即使那樣,由於它不是一個真正的對象,並且您不能真正將其轉換為一個對象,因此該分配將如何處理。 如果那里什么也沒有,您應該期望該屬性保持nil 您不需要也不應該用一些默認的空分配來填充它。

如果您有要設置的默認對象,那就是另一回事了。 那么awakeFromInsert可能是一個不錯的選擇。 問題是默認對象是否應該保存到商店中(因此可以搜索)。 如果不是,則可能要實現一個自定義訪問器方法,以在存儲的值為nil返回默認對象。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM