Swift'deki bir işleve yalnızca yerel olarak kapsamlı bir statik değişkeni nasıl bildireceğimi anlamaya çalışıyorum.
C'de, bu şunun gibi görünebilir:
int foo() {
static int timesCalled = 0;
++timesCalled;
return timesCalled;
}
Objective-C'de, temelde aynı:
- (NSInteger)foo {
static NSInteger timesCalled = 0;
++timesCalled;
return timesCalled;
}
Ama Swift'de böyle bir şey yapamıyorum. Değişkeni aşağıdaki şekillerde açıklamayı denedim:
static var timesCalledA = 0
var static timesCalledB = 0
var timesCalledC: static Int = 0
var timesCalledD: Int static = 0
Ancak bunların hepsi hatalarla sonuçlanır.
- İlk şikayet "Statik özellikler yalnızca bir tür üzerinde bildirilebilir".
- İkinci şikayet "Beklenen beyan" (nerede
static
) ve "Beklenen model" (neredetimesCalledB
) - Üçüncü şikayet "Bir satırdaki ardışık ifadeler ';'" (iki nokta üst üste ile arasındaki boşlukta
static
) ve "Beklenen Tür" (neredestatic
) ile ayrılmalıdır. - Dördüncü " ';' ile ayrılmalıdır bir satırda Ardıl ifadeleri" şikayet (arasındaki boşlukta
Int
vestatic
(eşittir işareti altında)) ve "Beklenen beyanı"