Ios 如何在Swift中增加Int型成员变量

Ios 如何在Swift中增加Int型成员变量,ios,swift,Ios,Swift,我正在编写一个Swift应用程序,在递增Int类型成员变量时遇到问题 我用 let index:Int 然后在初始化器中,我使用 self.index = 0 稍后,当我尝试在函数中使用 self.index++ 或 在第一种情况下,我被告知“不能使用'Int'类型的参数调用'++',在第二种情况下,我被告知“不能在'self'中赋值给'pos'” 我没有找到关于++操作符的信息,除了您可以编写它的自定义版本,但我假设它至少内置于整数类型中。如果这不是真的,那么这就回答了这个问题 另一个我

我正在编写一个Swift应用程序,在递增Int类型成员变量时遇到问题

我用

let index:Int
然后在初始化器中,我使用

self.index = 0
稍后,当我尝试在函数中使用

self.index++

在第一种情况下,我被告知“不能使用'Int'类型的参数调用'++',在第二种情况下,我被告知“不能在'self'中赋值给'pos'”

我没有找到关于++操作符的信息,除了您可以编写它的自定义版本,但我假设它至少内置于整数类型中。如果这不是真的,那么这就回答了这个问题

另一个我不知道的问题

谢谢

In

class MyClass {

    let index : Int

    init() {
        index = 0
    }

    func foo() {
        index++ // Not allowed 
    }
}
索引
是一个常量存储属性。可以给它一个初始值

let index : Int = 0
并且只能在初始化期间修改 (初始化完成时,它必须有一个确定的值。)

如果要在初始化后更改该值 然后必须将其声明为变量存储属性:

var index : Int
更多信息请参见Swift文档

请注意,
++
--
在Swift 2.2中已被弃用并删除 在Swift 3中(如注释中所述),因此-如果声明为变量- 你可以用

index += 1
相反。

我想你可以改变

let index:Int
进入

因为您要增加
索引的值,更改其值,所以需要将其声明为
var
。另外,值得知道的是,
let
用于声明常量

然后,您可以使用
self.index++
。请注意,
self.index
++
之间没有空格


希望这会有所帮助。

谢谢你的帮助!我在某个地方误读到,必须使用let而不是var来声明属性。在这种情况下,这些编译器错误完全是误导性的。++运算符也使用swift just ex:value++而不是value++(有时给出编译时错误),仅供参考,++和--运算符已弃用,将在swift 3上删除@佩德罗赫卡瓦略:你完全正确,谢谢你的反馈。(语言的每一次变化都很难使所有Swift答案保持最新:)
let index:Int
var index:Int = 0