Core Data屬性設定

2021-07-24 02:55:18 字數 1311 閱讀 6995

當我們使用xcode建立設定表中字段時,可看見有如下介面。

transient:如果在properties中勾選了這一項,那麼該特性就不會寫入持久化儲存區。

optional:表示不一定要有值。所有的特性在剛被建立出來的時候就是optional特性。

indexed:系統會優化indexed特性以提公升搜尋效率,但代價是要在底層的持久化儲存區中占用額外的控制項。

validation:阻止不合理的資料進入持久化儲存區。

default:預設值。

index in spotlight:這個選項不會影響ios應用程式,它的用途是把基於coredata的應用程式通spotlight整合起來。

store in external record file:啟用了該選項之後,系統會把持久化儲存區里的資料複製成xml格式,並儲存在儲存區之外。

attribute type:屬性型別。

屬性型別,主要分為如下幾種。

對於屬性來說,這三種資料型別比較相似的,它們都表示沒有小數點的整數,唯一區別就在於能夠表示多大或多小的數。

interger 16的取值範圍是−2

15 至215−1。

ingerget 32的取值範圍是−2

31 至231−1。

ingerget 64的取值範圍是−2

63 至263−1。

數值越大,所佔的記憶體就越多。

對於屬性來說,單精度浮點數(float)與雙精度浮點數(double)這兩種資料型別可以看作帶小數點的非整數。與float相比,double所包含的二進位制位(bit)的個數是它的兩倍。

在涉及貨幣或其他十進位制運算的場合中,建議把屬性的資料設為小數(decimal)。

對於屬性來說,字串這種資料可以存放字元陣列(array of character)或普通文字(plain old text)。

對於屬性來說,boolean這種資料型別可用來存放「是」或「否」這兩種值。

日期(date)這種資料型別就是用來在屬性中儲存日期和時間得。

如果要儲存**、音訊或其他由「0」、「1」二進位制位所組成的連續blob,那麼就應該把屬性的型別設為二進位制資料型別(binary data)。

可變(transformable)資料型別很適合用來把oc物件存放到屬性裡。

時間描述

2016-10-26

博文完成

2016-10-31

增加attribute type章節

csdn:

github:

CoreData兩個表通過屬性關聯

1 乙個人有1輛車 1.插入一條資料 兩個表 一對1 乙個人有1輛車 p.name zs p.car car car.name lisi 2.查詢資料 1 建立請求 nsfetchrequest request nsfetchrequest fetchrequestwithentityname pe...

是否該用 Core Data

core data 是 cocoa 裡面一套非常受歡迎的框架,從 mac os x 10.4 提供以來,在 10.5 中引入了完善的 schema 遷移機制,再到 iphone os 3.0 時被引入 cocoa touch,這套完善的框架都被認為是管理大量結構化資料所首選的 cocoa 框架,尤其...

關於CoreData遷移

1.在新專案中新增coredata的類庫,並在 prefix.h中加入 import 2.拷貝原專案中的.xcdatamodeld檔案到新專案中,新增檔案選擇coredata下nsmanagedobject subclass,選擇data models版本,勾選實體。如果實體已經存在,要手動的刪除原...