在coredata中,entity中attribute的型別只有固定的幾種可選。如下圖:
有沒有方法擴充套件型別呢?方法當然是有的。原理是把要存型別轉化為二進位制的方式存在資料庫中。 比如我們要想直接存放uiimage到資料庫,如何做?
首先,在coredata中新建的attribute中類形選擇transformable. 意思表示這個欄位是自定義的型別。然後在生成的nsmanagedobject檔案中,將型別id改為自己想要的型別,如uiimage.
然後,新建類:uiimagetodatatransformer,繼承於nsvaluetransformer。**如下:
@inte***ce uiimagetodatatransformer : nsvaluetransformer
@end
#import "uiimagetodatatransformer.h"
@implementation uiimagetodatatransformer
+ (bool)allowsreversetransformation
+ (class)transformedvalueclass
- (id)transformedvalue:(id)value
- (id)reversetransformedvalue:(id)value
@end
然後在你的nsmanagedobject中註冊轉化類,那麼在存、取資料庫的時候就會進行轉化,如上面的uiimage 到 nsdata, nsdata到uiimage.
+ (void)initialize
}
這樣就可以直接存uiimage型別的資料到資料庫,實質還是存的二進位制。 自定義資料型別
include include using namespace std typedef double weight,tall struct student int main cout for int i 0 i 4 i return 0 貼上正確的輸出 這裡tall和weight都是自己可以輸入的 ...
自定義資料型別 列舉型別
學習了乙個月c語言,卻從來沒有更新過部落格,沒有總結的學習是不完整的。好了,其實我是走c 方向的,就提前看了c 的有關內容。c 除了和c語言一樣常用的資料型別,他們還有允許使用者自己來設計的一些資料型別,比如列舉型資料,結構型資料和鍊錶。我就簡單的總結下列舉型別。列舉型別允許使用者自己來定義一種資料...
自定義資料型別 結構型別
c 中自定義資料型別還有一種稱為結構型別,並且把該型別的各種資料型別一一整合到其中。學號 型別 姓名 字串 學生年齡 整型 院系 字串 平均成績 浮點型 每個學生的資訊成為了乙個整體,雜亂的資料和每個學生一一對應了起來,方便管理。如果需要建立學生型別,就可以這樣寫。include using nam...