2016-09-07 6 views
10

私は、典型的なリレーションチャットとメッセージと簡単なチャットをしています。チャットエンティティ述語CoreDataを修正する方法チャットとメッセージの弱い関係のフェッチされたプロパティ?

は、プロパティchatIdを持っている - Integer型

メッセージエンティティ持っプロパティchatId - 私はシンプルでフェッチされたプロパティ(messagesFP)を作成したチャットエンティティで

は(私は思う)Integer型述語

chatId == $FETCH_SOURCE.chatId 

enter image description here

私は、ID = 1でチャットしている、とのメッセージプロパティchatId = 1

しかし、messagesFP - 空の配列を返します。私は

chatId == 1 

に述語を変更する場合は

だから、正しいメッセージを返すmessagesFP。

したがって、現在のチャットのメッセージを取得する正しい述語を書き込む方法はありますか?

+0

あなたの質問は広すぎます。 –

+0

なぜですか?例を挙げてください。 –

+0

コードを共有していません。 –

答えて

2

$ FETCH_SOURCEが末尾のNSManagedObjectIDを指している場合は、以下のカテゴリを使用して修正してください。

こちらはの参考資料です。

これは開発者が最後に提供しなければならない便利な方法の1つです。プロジェクトでsome_mocを管理対象オブジェクトのコンテキストに置き換えます。

@implementation NSManagedObjectID (FetchSource) 

- (id) valueForUndefinedKey:(NSString *)key { 

    //Attempt to unwrap the underlying object from the moc 
    NSManagedObject *mocObject = [some_moc objectWithID:self]; 

    return [object valueForKey:key]; 
} 

@end 

私はあなたのために働くことを願っています!

関連する問題