相关疑难解决方法(0)

Swift中的静态函数变量

我试图弄清楚如何声明一个静态变量,只在本地作用于Swift中的函数.

在C中,这可能看起来像这样:

int foo() {
    static int timesCalled = 0;
    ++timesCalled;
    return timesCalled;
}
Run Code Online (Sandbox Code Playgroud)

在Objective-C中,它基本相同:

- (NSInteger)foo {
    static NSInteger timesCalled = 0;
    ++timesCalled;
    return timesCalled;
}
Run Code Online (Sandbox Code Playgroud)

但我似乎无法在Swift中做这样的事情.我试过用以下方式声明变量:

static var timesCalledA = 0
var static timesCalledB = 0
var timesCalledC: static Int = 0
var timesCalledD: Int static = 0
Run Code Online (Sandbox Code Playgroud)

但这些都会导致错误.

  • 第一个抱怨"静态属性只能在类型上声明".
  • 第二个抱怨"预期声明"(在哪里static)和"预期模式"(在哪里timesCalledB)
  • 第三个抱怨"一行上的连续陈述必须用';'"(在冒号和之间的空格中static)和"预期类型"(在哪里static)
  • 第四抱怨"上的线连续语句必须由';’分隔"(在之间的空间Intstatic)和"预期声明"(等号下签)

static function swift

92
推荐指数
3
解决办法
5万
查看次数

标签 统计

function ×1

static ×1

swift ×1