无法调用非函数类型“URL”的值
Posted
技术标签:
【中文标题】无法调用非函数类型“URL”的值【英文标题】:Cannot call value of non-function type 'URL' 【发布时间】:2021-03-30 00:48:05 【问题描述】:我正在关注 Angela 的完整 ios 应用程序开发训练营,我正在上课 353。我的问题是如何解决错误“无法调用非函数类型'URL'的值”。 到目前为止,我的代码只有三行
import Cocoa
import CreateML
let data = try MLDataTable(contentsOf: URL(fileURLWithPath: "/Users/user/Documents/CurrentProjects/Work/Mini/Twittermenti-iOS13-master/twitter-sanders-apple3.csv"))
当我使用 Xcode 11.3.1 时,讲师在 Xcode 10 Beta 上没有遇到问题,但我在遵循完全相同的代码时遇到了问题。 谁知道怎么解决?
【问题讨论】:
您是否有自己创建的任何变量或类/结构命名的 URL?如果将 URL 替换为 Foundation.URL 会发生什么? @JoakimDanielson 我没有自己创建的任何名为 URL 的变量或类/结构,当我添加 Foundation 时收到错误消息“模块 'Foundation' 没有名为 ''"我什至不知道是什么意思 @JoakimDanielson 基于MLDataTable
的使用,OP 使用的是 MacOS,因此 import Cocoa
而不是 Foundation
是正确的。
@KirilS。当然你可以只导入 macOS 的 Foundation,我一直都在这样做
@Impostor_Syndrom_Incarnated 你能否包含更多与错误相关的代码,比如周围的代码行?
【参考方案1】:
你很可能在某个地方定义了这样的变量:
因此,您将使用本地变量覆盖 URL 类(您尝试创建的实例)。
将你的局部变量改成小写(无论如何这是 Swift 标准),它会起作用:
import Cocoa
import CreateML
var url: URL
let data = try MLDataTable(contentsOf: URL(fileURLWithPath: "/Users/user/Documents/CurrentProjects/Work/Mini/Twittermenti-iOS13-master/twitter-sanders-apple3.csv"))
【讨论】:
以上是关于无法调用非函数类型“URL”的值的主要内容,如果未能解决你的问题,请参考以下文章