swift - 函数调用需要参数,但函数不带参数

标签 swift

我在类 makeRequest 中名为 makeRequest.swift 的文件中包含此代码:

class makeRequest {
    func callAPI () {
        let url = NSURL(string: "http://APIServer.com)

        let task = NSURLSession.sharedSession().dataTaskWithURL(url!) {(data, response, error) in
            println(NSString(data: data, encoding: NSUTF8StringEncoding))
        }

        task.resume()
    }
}

我用makeRequest.callAPI()调用它。但是,它需要一个参数:

Missing argument for parameter #1 in call

当我尝试配置 callAPI 以获取字符串时:

class makeRequest {
    func callAPI(urlEnd: String) {
        ...
    }
}

并调用它

makeRequest.callAPI("ending")

它的错误

Cannot invoke 'callAPI' with an argument list type of '(String)'

最佳答案

很抱歉 Swift 的错误消息如此令人困惑。 (此错误消息的性质有一个很酷的原因,但现在不用介意。)问题实际上是您将此方法作为类方法调用,但它被声明为实例方法。

关于swift - 函数调用需要参数,但函数不带参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30248855/

相关文章:

swift - 在 SKScene 上叠加 SKScene

swift - 如何使用 google 登录 sdk 在 UIButton 而不是 UIView 中实现 google 登录?

ios - Xcode 6.1 swift 自动完成和代码感知中断

ios - 将结构与 UIImage 进行比较

swift - 如何在 Swift 中访问程序参数?

ios - 在自定义 UITextField 类中调用委托(delegate)方法

ios - 如何保留在完成 block 中设置的局部变量?

swift - 在 Swift 中将两个字节的 UInt8 数组转换为 UInt16

ios - 为什么单元格与标签的宽度相同?

swift - 通过 UIBezierPath 裁剪后调整图像形状