nsview - Edit outlet from different class - Cocoa -
मुझे एक वर्ग के माध्यम से एक NSProgressIndicator के मूल्य को अद्यतन की आवश्यकता है
Es:
- वर्ग में मैं NSProgressIndicator के लिए आउटलेट को परिभाषित करता हूं और इसे लिंक करता हूं।
- कक्षा में मेरे पास संकेतक के दोहरे मूल्य को अपडेट करने का एक तरीका है।
- कक्षा बी में .मैं कक्षा ए के एक अंश के माध्यम से कॉल करता हूं, विधि लेकिन कुछ भी नहीं होता ।
अगर मैं वही विधि वर्ग ए के भीतर कॉल करता हूं तो ठीक काम करता है ।
मुझे क्या याद आ रहा है?
// अनुरोधित कोड: // कक्षा ए (ऐपडिलाएट) एएम // अन्य सामान - (शून्य) अपडेट_इंडिकेटर: (डबल) मान {/ / विधि संकेतक के मूल्य को अपडेट करता है [प्रगति_निर्देशक सेटड्यूडवैल्यू: (डबल) मान]; [प्रगति_निर्देशक सेटनएड्सडिसप्ले: हाँ]; } // कक्षा बी (ड्राइविंग क्लास - एनएसवी्यू का उपवर्ग) बीएम - (रिक्त) ड्रॉरेक्ट: (एनएसआरएक्ट) गंदा रेखांकित {[सुपर ड्राएक्ट: गंदारेक्ट]; // आईटेंस बनाएँ; ए * आइसटेंस = [[ए आवंट] इनिट]; // Alloc कक्षा ए और इसे init [एक update_indicator: 50.0]; // अन्य कोड ..}
अजीब बात यह है कि अगर मैं
- (शून्य) update_indicator को कॉल करता हूँ: (डबल) मान वर्ग ए के भीतर, जहां आउटलेट परिभाषित है, यह ठीक काम करता है, अगर मैं इसे बी से कहता हूं, इसे बुलाया जा रहा है लेकिन प्रगति बार नहीं दिख रहा है।
<ए> अगर ए एडिटर का एक वर्ग है तो आप एक नया उदाहरण बनाने के बजाय इस
[[एनएसएपीसीपी साझा साझाकरण] प्रतिनिधि] का उपयोग करके अच्छा उदाहरण प्राप्त कर सकते हैं।
अन्यथा, आपको कक्षा ए को सिंगलटन करना चाहिए।
इस उदाहरण पर लॉक लें
Comments
Post a Comment