Saya mencoba mencari cara untuk mendeklarasikan variabel statis yang hanya dibatasi secara lokal ke fungsi di Swift.
Di C, ini mungkin terlihat seperti ini:
int foo() {
static int timesCalled = 0;
++timesCalled;
return timesCalled;
}
Di Objective-C, pada dasarnya sama:
- (NSInteger)foo {
static NSInteger timesCalled = 0;
++timesCalled;
return timesCalled;
}
Tapi sepertinya saya tidak bisa melakukan hal seperti ini di Swift. Saya sudah mencoba mendeklarasikan variabel dengan cara berikut:
static var timesCalledA = 0
var static timesCalledB = 0
var timesCalledC: static Int = 0
var timesCalledD: Int static = 0
Tapi ini semua menghasilkan kesalahan.
- Keluhan pertama "Properti statis hanya dapat dideklarasikan pada jenis".
- Keluhan kedua "Deklarasi yang diharapkan" (di mana
static
) dan "Pola yang diharapkan" (di manatimesCalledB
) - Keluhan ketiga "Pernyataan berurutan pada sebuah baris harus dipisahkan oleh ';'" (dalam spasi antara titik dua dan
static
) dan "Jenis yang Diharapkan" (di manastatic
) - Keluhan keempat "Pernyataan berturut-turut pada sebuah baris harus dipisahkan oleh ';'" (di antara
Int
danstatic
) dan "Deklarasi yang diharapkan" (di bawah tanda sama dengan)