私は、ローカルでのみスコープされた静的変数をSwiftの関数に宣言する方法を理解しようとしています。
Cでは、これは次のようになります。
int foo() {
static int timesCalled = 0;
++timesCalled;
return timesCalled;
}
Objective-Cでは、基本的に同じです。
- (NSInteger)foo {
static NSInteger timesCalled = 0;
++timesCalled;
return timesCalled;
}
しかし、私はSwiftでこのようなことをすることができないようです。次の方法で変数を宣言してみました。
static var timesCalledA = 0
var static timesCalledB = 0
var timesCalledC: static Int = 0
var timesCalledD: Int static = 0
しかし、これらはすべてエラーになります。
- 最初のメッセージは、「静的プロパティは型でのみ宣言できる」というものです。
- 2番目は、「予期された宣言」(どこに
static
あるか)および「予期されたパターン」(どこにtimesCalledB
あるか)を不平を言います - 3番目は、「行の連続するステートメントは、コロンとの間のスペースで「;」で区切る必要があります
static
)と「期待されるタイプ」(どこにstatic
あるか)を訴えます。 - 第四は、「『;』によって分離されなければならないライン上の連続する文」文句(の間の空間に
Int
、およびstatic
(等号下))と「期待宣言」