[英]Getting only few properties of a table in CoreData ios swift3
我將coreData實體定義為
在TTFinds中
@nonobjc public class func fetchRequest() -> NSFetchRequest<TTFinds> {
return NSFetchRequest<TTFinds>(entityName: "TTFinds");
}
我正在嘗試獲取TTFinds列表
let request: NSFetchRequest<TTFinds> = TTFinds.fetchRequest()
do {
let result = try appDel.persistentContainer.viewContext.fetch(request)
可以看出,TTFinds獲得了其父TTArea對象。 但是我只想獲得幾列。 假設只說name
和creationDate
怎么辦?
我努力了
let request: NSFetchRequest<TTFinds> = TTFinds.fetchRequest()
request.propertiesToFetch = NSArray.init(objects: "name", "creationDate", "image", "latitude", "longitude",
"area.name") as? [Any];
但是area.name給出錯誤。
忘記propertiesToFetch
並僅獲取整個對象。
首先,如果使用字典的結果類型,則只能檢索選擇性屬性。 它將使您的代碼更加繁瑣和冗長,而效率沒有任何提高。
其次,即使您僅獲取對象,即使對象很多,Core Data也會“在后台”進行各種優化,並獲取所需的內容。 只需訪問所需的屬性即可觸發此操作。
因此,假設您僅獲取某些屬性的目的是節省內存或減少性能瓶頸,請在實際遇到這些瓶頸之前不要擔心。
注意:您的人際關系應該成反比關系!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.