【问题标题】:Cannot call value of non-function type 'URL'无法调用非函数类型“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 你能否包含更多与错误相关的代码,比如周围的代码行?

标签: swift url xcode10 xcode11.3 createml


【解决方案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"))

【讨论】:

    猜你喜欢
    • 2017-08-16
    • 2020-02-01
    • 2021-01-15
    • 2016-03-10
    • 2016-09-26
    • 2017-06-27
    • 2019-05-05
    • 2016-05-22
    • 1970-01-01
    相关资源
    最近更新 更多