मैं यह पता लगाने की कोशिश कर रहा हूं कि स्विफ्ट में एक फ़ंक्शन के लिए केवल स्थानीय रूप से स्कोप किए गए एक स्थिर चर को कैसे घोषित किया जाए।
सी में, यह कुछ इस तरह दिख सकता है:
int foo() {
static int timesCalled = 0;
++timesCalled;
return timesCalled;
}
उद्देश्य-सी में, यह मूल रूप से समान है:
- (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
है) और "अपेक्षित प्रतिमान" (जहाँtimesCalledB
है) की शिकायत करता है - तीसरे ने शिकायत की "एक लाइन पर लगातार बयानों को 'द्वारा अलग किया जाना चाहिए?" "(बृहदान्त्र के बीच की जगह में
static
) और" अपेक्षित प्रकार "(जहांstatic
है) - चौथी शिकायत "लाइन से अलग किया जाना चाहिए पर लगातार बयान ';' '(के बीच की जगह में
Int
औरstatic
) और" उम्मीद की घोषणा "(के तहत बराबर चिह्न)