1
我有這樣的核心數據設置:核心數據過濾抽象的實體
Issue
(IssueField)IssueFields (to many, Abstracted)
IssueField
(String)type
TextField : IssueField
(String)text
DateField : IssueField
(Date)date
所以實體問題有一個與IssueField IssueField抽象,並有兩個孩子的TextField,的DateField
一對多的關係我想運行一個謂語找到問題包含任何的DateField具體日期
NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"Issue"];
request.predicate = [NSPredicate predicateWithFormat:@"any IssueFields.type = %@ and any IssueField.date = %@", @"DateType", today];
,但我得到這個錯誤: 原因:「的keyPath IssueFie ld.date沒有在實體中找到'
我明白這是由於查詢嘗試在TextField上查找日期,但我該如何解決此問題?
您的'IssueField'實體沒有'date'屬性,因爲它是從'IssueField'繼承的'DateField'而不是其他方式。目前還不清楚你想要達到什麼目標,所以我不能真正評論解決問題的方法。爲什麼你需要一個單獨的'TextField'和'DateField'實體? (而不是將它們作爲'IssueField'屬性? – Rog
有一個獨立的組件,用於配置項目的問題可以有多少個字段,此結構允許在將來擴展問題字段以適應新的數據類型。 IssueField的列表,IssueField可以是文本字段或日期字段,也可以是值列表字段,文檔字段,數字字段等。 –
嗯,爲什麼不只是擁有'Issue'類型的'IssueField'實體和屬性'值',類型將存儲字段類型,和值將存儲字段值,也可以幫助https://developer.apple.com/library/mac/documentation/cocoa/conceptual/coredata/articles/cdNSAttributes。 HTML – Rog