作者:湘刘涛 | 来源:互联网 | 2023-01-26 10:36
我想为IOS 11更新我的应用程序,并遇到此问题.这是我目前的代码:
protocol DataSourceDelegate: class {
associatedtype Object
func cellIdentifierForObject(object: Object) -> String
func swipeToDeleteObject(object: Object)
}
此协议用于我的一个视图控制器:
extension TransactionsViewController: DataSourceDelegate {
func cellIdentifierForObject(object: Object) -> String {
return "Cell"
}
func swipeToDeleteObject(object: Object) {
object.managedObjectContext?.performChanges {
object.managedObjectContext?.delete(object)
}
}
}
现在我得到了这个Object
类型的错误:
在此上下文中,"对象"对于类型查找是不明确的
在这一行:
func cellIdentifierForObject(object: Object) -> String { ... }
出现此问题是因为我的项目中还有其他一些Object类型.我试图将协议或类名放在名称前面,但我仍然会收到错误.
1> Cœur..:
在我的情况下,我有这种歧义,因为类是在一个swift文件中声明的,也是由我的数据模型自动生成的.
如果您已经在swift文件中声明了您的类,那么请确保为其禁用代码生成.
在xcdatamodeld中选择您的实体
打开第三个选项卡,数据模型检查器:
将Codegen设置为手动/无