Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift:无法使用正确的参数调用方法?_Swift_Core Data - Fatal编程技术网

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

Swift:无法使用正确的参数调用方法?,swift,core-data,Swift,Core Data,我试图找到满足谓词的实体数。根据文档和“标题”文件,这应该可以: let fetch = NSFetchRequest<NSFetchRequestResult>(entityName: "FileRecord") let ctx: NSManagedObjectContext = GetCtx() let res = try ctx.count(for: fetch) 由于count返回Int,因此函数不匹配。错误消息不够具体,我无法立即看到它。感谢所有试图帮助我的人:)我无法重

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

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

由于count返回Int,因此函数不匹配。错误消息不够具体,我无法立即看到它。感谢所有试图帮助我的人:)

我无法重现这个问题。那是你真正的密码吗?是否在do/catch上下文中调用了
try
?您需要将
GetCtx()
的代码放入,请用代码更新您的问题。并且
FileRecord
不是
NSFetchRequest
NSManagedObject
,请更新上面请求的代码,以便我可以帮助Martin R是的,try在do/catch上下文中调用。Santos,GetCtx()只是一个伪函数,实际上我只是有一个NSManagedObjectContext类型的变量,我将其用于其他目的,并且正常工作。在Santos中,FileRecord是核心数据中实体的名称,因此为其生成了Swift类。它的static fetchRequest()方法返回实际的获取请求。一般来说,我的问题是,尽管我匹配了方法的签名,但它表示我无法调用它。我不知道如何处理这些信息。我无法重现这个问题。那是你真正的密码吗?是否在do/catch上下文中调用了
try
?您需要将
GetCtx()
的代码放入,请用代码更新您的问题。并且
FileRecord
不是
NSFetchRequest
NSManagedObject
,请更新上面请求的代码,以便我可以帮助Martin R是的,try在do/catch上下文中调用。Santos,GetCtx()只是一个伪函数,实际上我只是有一个NSManagedObjectContext类型的变量,我将其用于其他目的,并且正常工作。在Santos中,FileRecord是核心数据中实体的名称,因此为其生成了Swift类。它的static fetchRequest()方法返回实际的获取请求。一般来说,我的问题是,尽管我匹配了方法的签名,但它表示我无法调用它。我不知道该怎么处理这些信息。
Cannot invoke 'count' with an argument list of type '(for: NSFetchRequest<NSFetchRequestResult>)'
let fetch: NSFetchRequest<FileRecord> = FileRecord.fetchRequest()
Cannot convert value of type 'NSFetchRequest<FileRecord>' to expected argument type 'NSFetchRequest<NSFetchRequestResult>'
let res: UInt64 = try ctx.count(for: fetch)