02-Xcode8.0 的coreData使用總結(jié)

寫在前面

最近嘗嘗鮮升級(jí)了Xcode8.0,誰(shuí)曾想遇到了一個(gè)又一個(gè)“坑”,其中我覺得尤為值得記錄的一個(gè)就是coreData的使用捧灰,記錄于此,供大家討論
PS:我對(duì)coreData了解連皮毛也算不上荚板,之前在項(xiàng)目中用到了凤壁,也是在別人建好表的基礎(chǔ)上仿寫出來的??,后續(xù)也沒有進(jìn)行深入的學(xué)習(xí)跪另,近期又用到coreData拧抖,發(fā)現(xiàn)Xcode8.0下不是原來那樣用了,網(wǎng)上找了半天免绿,同病相憐的人不少唧席,可都無(wú)解決之法,那我就第一個(gè)吃螃蟹吧,文采有限淌哟,不喜勿噴迹卢,如有錯(cuò)誤還望善意指出,大家共同進(jìn)步??

  • 第一步:找到后綴為.xcdatamodeld的模型文件
  • 第二步:在模型文件中添加項(xiàng)目中需要的Entity實(shí)體
  • 第三步:在創(chuàng)建好的entity中添加Attribute
米小姐的圖一.png

接下來徒仓,大家是不是認(rèn)為該右擊模型文件選擇 new file了腐碱,如果你點(diǎn)擊了就會(huì)發(fā)現(xiàn),原本coredata的三個(gè)選項(xiàng)只剩了兩個(gè)

下面是正確步驟哦
  • 第四步:點(diǎn)擊導(dǎo)航欄的Editor
  • 第五步:選擇Create NSManagedObject Subclass...然后就是下一步掉弛、下一步症见。。谋作。。
米小姐的圖二.png

以上步驟完成后遵蚜,創(chuàng)建工作基本上就好了奈惑,讓我們比較一下生成的文件較之前有什么不同

  • 如圖吭净,綠色框框中是我之前創(chuàng)建的,粉紅色框框是我升級(jí)xcode8.0后創(chuàng)建的携取,顯然多了一個(gè)實(shí)體名+CoreDataClass的文件,少了實(shí)體名的模型文件雷滋,Why文兢?哈哈其實(shí)它倆是一回事晤斩,換了個(gè)名字而已??
米小姐的圖三.png

下面是CoreData常用操作代碼記錄

  • 添加數(shù)據(jù),示例代碼如下:
-(void)addHistoryInfoToRWList:(NSString *)historyStr{
NSManagedObjectContext *cusMoc = [[NSManagedObjectContext alloc]initWithConcurrencyType:NSPrivateQueueConcurrencyType];
NSManagedObjectContext *cusMoc1 = [self myContext:cusMoc];
if (cusMoc1!=nil) {
    //從core data 拉取數(shù)據(jù)
    NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
    fetchRequest.predicate = [NSPredicate predicateWithFormat:[NSString stringWithFormat:@"historyRWInfo='%@' ",historyStr]];
    NSEntityDescription *entity = [NSEntityDescription entityForName:@"RWHistory" inManagedObjectContext:cusMoc1];
    [fetchRequest setEntity:entity];
    NSError *error;
    NSArray *fetchedObjects = [cusMoc1 executeFetchRequest:fetchRequest error:&error];
    
    if (!error) {
        if (fetchedObjects.count>0) {
            for (NSManagedObject *obj in fetchedObjects)
            {
                //刪除數(shù)據(jù)
                [cusMoc1 deleteObject:obj];
                if (![cusMoc1 save:&error])
                {
                    return;
                }
            }
            
        }
        
        //不存在數(shù)據(jù)時(shí)姆坚,插入數(shù)據(jù)
        RWHistory *myHxInfo = [NSEntityDescription insertNewObjectForEntityForName:@"RWHistory" inManagedObjectContext:cusMoc1];
        myHxInfo.historyRWInfo=historyStr;
        [cusMoc1 save:&error];

    }
}}
  • 刪除數(shù)據(jù),示例代碼如下
-(void)deleteRWHistory{
NSManagedObjectContext *cusMoc = [[NSManagedObjectContext alloc]initWithConcurrencyType:NSPrivateQueueConcurrencyType];
NSManagedObjectContext *cusMoc1 = [self myContext:cusMoc];
if (cusMoc1!=nil) {
    //從core data 拉取數(shù)據(jù)
    NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
    NSEntityDescription *entity = [NSEntityDescription entityForName:@"RWHistory" inManagedObjectContext:cusMoc1];
    [fetchRequest setEntity:entity];
    NSError *error;
    NSArray *fetchedObjects = [cusMoc1 executeFetchRequest:fetchRequest error:&error];
    
    if (!error) {
        for (NSManagedObject *obj in fetchedObjects)
        {
            //刪除數(shù)據(jù)
            [cusMoc1 deleteObject:obj];
            if (![cusMoc1 save:&error])
            {
                return;
            }
        }
    }
    
}}
  • 獲取數(shù)據(jù)兔辅,示例代碼如下:
-(NSMutableArray *)getRWHistory{
NSManagedObjectContext *cusMoc = [[NSManagedObjectContext alloc]initWithConcurrencyType:NSPrivateQueueConcurrencyType];
NSManagedObjectContext *cusMoc1 = [self myContext:cusMoc];
if (cusMoc1!=nil) {
    NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
    NSEntityDescription *entity = [NSEntityDescription entityForName:@"RWHistory" inManagedObjectContext:cusMoc1];
    [fetchRequest setEntity:entity];
    NSError *error;
    NSArray *fetchedObjects = [cusMoc1 executeFetchRequest:fetchRequest error:&error];
    NSMutableArray * hisArr=[NSMutableArray array];
    for (RWHistory * model in fetchedObjects) {
        [hisArr insertObject:model atIndex:0];
    }
    if (!error) {
        return hisArr;
    }
    return nil;
}else{
    return nil;
}}

OK寫完了击喂,如果有錯(cuò)誤啊、不足啊懂昂,希望大家給我指出來哈,三克油??喜歡的點(diǎn)個(gè)??!還有我的第一篇文章 01-iOS總結(jié):項(xiàng)目中的各種小坑匯總

香山行.JPG
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末循衰,一起剝皮案震驚了整個(gè)濱河市褐澎,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌工三,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,194評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件胁出,死亡現(xiàn)場(chǎng)離奇詭異段审,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)寺枉,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來始苇,“玉大人筐喳,你說我怎么就攤上這事催式”芄椋” “怎么了?”我有些...
    開封第一講書人閱讀 156,780評(píng)論 0 346
  • 文/不壞的土叔 我叫張陵哺窄,是天一觀的道長(zhǎng)账锹。 經(jīng)常有香客問我萌业,道長(zhǎng)奸柬,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,388評(píng)論 1 283
  • 正文 為了忘掉前任鸟缕,我火速辦了婚禮排抬,結(jié)果婚禮上授段,老公的妹妹穿的比我還像新娘。我一直安慰自己侵贵,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,430評(píng)論 5 384
  • 文/花漫 我一把揭開白布卡睦。 她就那樣靜靜地躺著,像睡著了一般表锻。 火紅的嫁衣襯著肌膚如雪乞娄。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,764評(píng)論 1 290
  • 那天仪或,我揣著相機(jī)與錄音,去河邊找鬼范删。 笑死,一個(gè)胖子當(dāng)著我的面吹牛到旦,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播契沫,決...
    沈念sama閱讀 38,907評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼昔汉,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼拴清!你這毒婦竟也來了靶病?” 一聲冷哼從身側(cè)響起口予,我...
    開封第一講書人閱讀 37,679評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎煤辨,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體众辨,經(jīng)...
    沈念sama閱讀 44,122評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,459評(píng)論 2 325
  • 正文 我和宋清朗相戀三年郊闯,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了蛛株。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,605評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡欢摄,死狀恐怖笋粟,靈堂內(nèi)的尸體忽然破棺而出怀挠,到底是詐尸還是另有隱情矗钟,我是刑警寧澤,帶...
    沈念sama閱讀 34,270評(píng)論 4 329
  • 正文 年R本政府宣布躬它,位于F島的核電站,受9級(jí)特大地震影響冯吓,放射性物質(zhì)發(fā)生泄漏疮跑。R本人自食惡果不足惜组贺,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,867評(píng)論 3 312
  • 文/蒙蒙 一失尖、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧掀潮,春花似錦琼富、人聲如沸仪吧。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,734評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)出皇。三九已至,卻和暖如春恶迈,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背暇仲。 一陣腳步聲響...
    開封第一講書人閱讀 31,961評(píng)論 1 265
  • 我被黑心中介騙來泰國(guó)打工奈附, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留全度,地道東北人斥滤。 一個(gè)月前我還...
    沈念sama閱讀 46,297評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像顶掉,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子痒筒,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,472評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容

  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫(kù)茬贵、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 12,059評(píng)論 4 62
  • 該文章屬于劉小壯原創(chuàng)老充,轉(zhuǎn)載請(qǐng)注明:劉小壯[http://www.reibang.com/u/2de707c93d...
    劉小壯閱讀 26,992評(píng)論 75 85
  • iOS CoreData介紹和使用(以及一些注意事項(xiàng)) 最近花了一點(diǎn)時(shí)間整理了一下CoreData螟左,對(duì)于經(jīng)常使用S...
    Pocket閱讀 22,805評(píng)論 34 92
  • 不知為何,今天的情緒不怎么高虫啥! 昨晚老妹兒的電話時(shí)間有點(diǎn)長(zhǎng),內(nèi)容更是爆炸,在我將將消化了苹祟,媳婦生氣了评雌。看看時(shí)間景东,已...
    翱翔的窩窩頭閱讀 311評(píng)論 2 0