Swift:无法使用正确的参数调用方法?

时间:2017-01-25 17:49:18

标签: swift core-data

我试图找到满足谓词的实体计数。根据文档和“标题”文件,这应该工作:

let fetch = NSFetchRequest<NSFetchRequestResult>(entityName: "FileRecord")
let ctx: NSManagedObjectContext = GetCtx()
let res = try ctx.count(for: fetch)

然而我得到编译错误:

Cannot invoke 'count' with an argument list of type '(for: NSFetchRequest<NSFetchRequestResult>)'

然而,当我像这样从FileRecord创建获取请求时:

let fetch: NSFetchRequest<FileRecord> = FileRecord.fetchRequest()

我收到以下错误:

Cannot convert value of type 'NSFetchRequest<FileRecord>' to expected argument type 'NSFetchRequest<NSFetchRequestResult>'

请有人知道可能出错了什么?我是一个体面的C ++语言律师,但我只是Swift的新手...

编辑:已解决 我上面的例子是错的。实际上,我的代码功能与以下内容相同:

let res: UInt64 = try ctx.count(for: fetch)

因为count返回Int,所以函数不匹配。错误消息不够具体,我不能立即看到它。感谢所有试图提供帮助的人:)

0 个答案:

没有答案