最佳答案
我试图弄清楚如何声明一个静态变量的作用域仅限于 Swift 中的一个函数。
在 C 语言中,这可能看起来像这样:
int foo() {
static int timesCalled = 0;
++timesCalled;
return timesCalled;
}
在 Objective-C 中,基本上是一样的:
- (NSInteger)foo {
static NSInteger timesCalled = 0;
++timesCalled;
return timesCalled;
}
但我在斯威夫特身上做不了这种事。我尝试用以下方法声明这个变量:
static var timesCalledA = 0
var static timesCalledB = 0
var timesCalledC: static Int = 0
var timesCalledD: Int static = 0
但这些都会导致错误。
static
)和“ Expected pattern”(其中有 timesCalledB
)static
之间的空格)和“期望类型”(在 static
所在的位置)Int
和 static
之间的空格中)和“期望声明”(在等号下)