ios - 无法将 Int 类型的值转换为预期的参数类型 '...'

标签 ios xcode swift

我试图了解参数在 Swift 中的工作方式,因此编写了一个简单的类,如下所示

class NumberIncreaser {


func numberIncrementor(var number:Int)->Int{
    number += 1
    return number
}


var anotherNumber = numberIncrementor(3)



}

然而,即使在明确提到方法“numberIncrementor”接受一个 Int 之后,Xcode 也会要求一个 numberIncreaser 对象(希望我使用的是正确的术语,编程新手)。我注意到当我删除类时,该方法工作得很好。我想知道为什么会这样,我该如何解决。

谢谢!

最佳答案

您的代码无法编译。考虑一下:

class NumberIncreaser {

    static func numberIncrementor(var number:Int)->Int{
        number += 1
        return number
    }

}

var anotherNumber = NumberIncreaser.numberIncrementor(3)

或另一种变体:

class Number {

    var number: Int

    init(number: Int) {
        self.number = number
    }

    func increasedNumber() -> Int {
        return number + 1
    }
}

var anotherNumber = Number(number: 3).increasedNumber()

关于ios - 无法将 Int 类型的值转换为预期的参数类型 '...',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37528052/

相关文章:

ios - Swift AVFoundation 翻转相机功能不起作用

ios - 库版本之间的 Swift 兼容性

android - 从 Google Play 商店获取应用程序用户信息

swift - 如何检测内存泄漏 <Allocated Prior To Attach>?

ios - 按行数或行数设置 TableView 高度

objective-c - 应有 Root View Controller 控制台的应用程序

swift - 应用程序 :continueUserActivity:restorationHandler: is not getting called when using handoff

iphone - 如何在 iphone 中使用圆角标签,UILabel Round Corners

ios - UIPanGestureRecognizer 如何获取相对于 [gestureRecognizer View ] 的触摸坐标

ios - 为什么 UITableView 中会出现重复的单元格?