flex - "Access of undefined property" error in a static initializer -


मैं एक एक्शन स्क्रिप्ट स्थिर initializer में दो स्थिर ArrayList ऑब्जेक्ट्स को प्रारंभ करना चाहता हूं। < P> मैंने यह कोड लिखा है: <पूर्व> आयात करें mx.collections.ArrayList; सार्वजनिक वर्ग की समस्या {[बिन्डेबल] निजी स्टेटिक वर् लेवलन्यूज़: अर्रे लिस्ट; [बिन्डेबल] प्राइवेट स्टेटिक वैर स्पीड संख्या: एरेएलआईस्ट; {For (var लूपआईंट: इंट = 1; लूपइंट & lt; 901; लूपआईएनटी ++) {levelNumbers.addItem (loopInt); speedNumbers.addItem (loopInt); }} // ...}

लेकिन कोड संकलन नहीं करेगा। लूप के लिए की तीन पंक्तियों में मुझे यह त्रुटि मिलती है:

1120: अपरिभाषित गुण लूप की पहुंच

क्यों है यह बहुत? मैं बस सामान्य रूप में चर परिभाषित!

समस्या वास्तव में स्थानीय loopInt आपके कोड में चर। स्थिर intialisers का उपयोग करते समय, आप यह , वर्ग का नाम, या स्थानीय चर का उपयोग नहीं कर सकते। पहले दो शायद इसलिए क्योंकि कक्षा अभी तक पूरी तरह से अस्तित्व में नहीं है, जबकि पिछले एक, मुझे यकीन नहीं है (शायद कोई गुंजाइश नहीं है?)।

इसे काम करने के लिए, अपने पाश को निकालने के लिए एक समारोह। इस तरह:

  {_init (); } निजी स्थिर कार्य _init (): शून्य {for (var loopInt: int = 1; loopInt & lt; 901; loopInt ++) {levelNumbers.addItem (loopInt); speedNumbers.addItem (loopInt); }}   

और इसे काम करना चाहिए

Comments