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