1

儘管我對swift很陌生,但我對核心數據和讀取結果控制器都有經驗。所以,我感到困惑的是,當我編譯下面的代碼,我得到一個錯誤「使用未聲明的類型」NSFetchedResultsController'「使用未聲明的類型'NSFetchedResultsController'...我如何消除這個錯誤?

我看着裏面的CoreData框架,我添加到我的項目,NSFetchedResultsController不存在。我試圖刪除並重新安裝Xcode(版本7.3.1),假設迅速支持已過時,但沒有喜悅。我發現了許多關於「使用未聲明的類型」的錯誤......由於引用了實例或聲明不正確的自定義框架而導致的錯誤。許多其他文章詳細描述瞭如何在swift代碼中使用NSFetchedResultsController。沒有幫助任何地方看,沒有關於一個蘋果框架缺少一個有據可查的類

任何人都有一個解決方案?

我的代碼:

import CoreData 
import AppKit 

class MyViewController: NSViewController, NSTableViewDataSource { 

    @IBOutlet weak var tableView: NSTableView? 

    let fetchedResultsController: NSFetchedResultsController = { 
     var request: NSFetchRequest = NSFetchRequest(entityName: "ZIdea") 
     let f: NSFetchedResultsController = NSFetchedResultsController(fetchRequest: request, managedObjectContext: managedObjectContext, sectionNameKeyPath: nil, cacheName: nil); 
     f.delegate = self 

     return f 
    }() 

} 
+1

檢查此問題:http://stackoverflow.com/q/2429607/433373和這一個:http://stackoverflow.com/q/21215619/433373 - 看起來像OSX中沒有'NSFetchedResultsController'? –

+0

(我剛剛發現了我自己;我從來沒有試過在Mac上使用CoreData) –

回答

1

正如評論所說,NSFetchedResultsController不可在MacOS,然而它將在10.12塞拉利昂推出。

合適的替代品是NSArrayController連同Cocoa Bindings。

+0

是的,謝謝你們!我正要添加一個關於OS X的評論。 vadian,我喜歡你關於NSArrayController的建議,我在NicolasMiari的評論中看到了一個關於它的鏈接 –

相關問題