nsfetchedresultcontroller 删除名称为 Swift 3 的缓存

nsfetchedresultcontroller delete cache with name Swift 3

所以我最近将 xcode 更新到 8.0,现在有 swift 3.
随着新的更新,nsfetchedresultcontroller 发生了一些变化。
经过大量的搜索和尝试,我又开始工作了。
但是我仍然有删除缓存()函数的错误

这是我的原始代码:

NSFetchedResultsController.deleteCache(withName: "Master")

但我得到这个错误:

/Users/Camiel/Documents/Schoolcijfer/NeededNumber/Magister2,0/VakkenTableViewController.swift:208:36: Type 'String?' does not conform to protocol 'ExpressibleByStringLiteral'

感谢任何帮助。

试试这个:

NSFetchedResultsController<NSFetchRequestResult>.deleteCache(withName: "Master")

NSFetchedResultsController在Swift3中变成了泛型,需要指定泛型参数ResultType。当Swift无法推断时,需要明确指定。

您总是需要指定通用参数,即使 class 方法与参数无关。

还有错误信息...,最好发一个 bug report 关于它。