第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

核心數(shù)據(jù)NSPredicate“已刪除==否”無法正常工作

核心數(shù)據(jù)NSPredicate“已刪除==否”無法正常工作

滄海一幻覺 2020-02-03 12:49:33
我在父子上下文中使用UIManagedDocument。在我的孩子的情況下,我執(zhí)行以下操作代碼1NSSet *results = [self.event.memberships filteredSetUsingPredicate:[NSPredicate predicateWithBlock:^BOOL(id evaluatedObject, NSDictionary *bindings) {    return ([[evaluatedObject deleted] boolValue] == NO);}]];上面的代碼返回預(yù)期的結(jié)果(僅事件的未刪除成員)。代碼2但是這段代碼沒有。它獲取所有記錄。NSPredicate *predicate = [NSPredicate predicateWithFormat:@"deleted == NO"];NSSet *results = [self.event.memberships filteredSetUsingPredicate:predicate];似乎令人困惑。兩者應(yīng)返回相同的結(jié)果,但predicateWithBlock返回正確的結(jié)果,其中as predicateWithFormat返回所有記錄。使用predicateWithBlock代替的優(yōu)點和缺點是predicateWithFormat什么?
查看完整描述

3 回答

?
holdtom

TA貢獻1805條經(jīng)驗 獲得超10個贊

問題是您已經(jīng)deleted為實體定義了屬性。這與的isDeleted方法沖突NSManagedObject,因此您應(yīng)該重命名該屬性。


以下“實驗”表明,如果您將屬性稱為“已刪除”(c具有自定義deleted屬性的托管對象),則會發(fā)生奇怪的事情:


// Set custom "deleted" property to YES:

c.deleted = @YES;


// Use the property, as your Code 1

NSLog(@"%@", [c deleted]);

// Output: 1


// Use Key-Value Coding, as your Code 2

NSLog(@"%@", [c valueForKey:@"deleted"]);

// Output: 0


// Now really delete the object and try again:

[context deleteObject:c];

NSLog(@"%@", [c valueForKey:@"deleted"]);

// Output: 1

您的“代碼1”引用該屬性,因此它返回預(yù)期的結(jié)果?!按a2”使用鍵值編碼,并[c valueForKey:@"deleted"]返回YES對象是否實際上已從上下文中刪除!


因此,重命名該屬性應(yīng)該可以解決您的問題。不幸的是,如果屬性名稱與內(nèi)置方法沖突,則編譯器不會發(fā)出警告。


查看完整回答
反對 回復(fù) 2020-02-03
?
楊魅力

TA貢獻1811條經(jīng)驗 獲得超6個贊

使用格式占位符替換布爾值:


NSPredicate *predicate = [NSPredicate predicateWithFormat:@"%K == %@",

@"deleted", @(NO)];


您可以使用鍵路徑,但是對于解析器而言,右側(cè)可能看起來不像“否”。


查看完整回答
反對 回復(fù) 2020-02-03
?
Helenr

TA貢獻1780條經(jīng)驗 獲得超4個贊

isDeleted和Delete是兩個不同的名稱。當(dāng)我檢查NSManagedObject.h頭文件時,// state - methods can be used through KVC, for example for enabling/disabling widgets based on the state of the object - (BOOL)isInserted; - (BOOL)isUpdated; - (BOOL)isDeleted;可能是蘋果有一些私有屬性

查看完整回答
反對 回復(fù) 2020-02-03
  • 3 回答
  • 0 關(guān)注
  • 976 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號