當我們使用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版本,勾選實體。如果實體已經存在,要手動的刪除原...