मैं एक एनएसटीमर का उपयोग करता हूं जो हर सेकेंड को फायर करता है और एक लेबल अपडेट करता है जो किसी ईवेंट तक शेष समय प्रदर्शित करता है।आईओएस (प्रत्येक सेकेंड) पर समय-समय पर लेबल कैसे अपडेट करें?
मैं अभी तक ठीक काम करता हूं। समस्या यह है कि जब मैं TableView स्क्रॉल कर रहा हूं, तो मेरा लेबल अपडेट नहीं होता है, क्योंकि मेन थ्रेड को स्पर्श/स्क्रॉल ईवेंट द्वारा अवरोधित किया जाता है।
मैंने टाइमर के लिए दूसरा धागा बनाने के बारे में सोचा लेकिन मैं किसी भी पृष्ठभूमि थ्रेड से लेबल को अपडेट नहीं कर सका। मुझे इसे प्रदर्शन चयनकर्ता के साथ कतारबद्ध करना था ... मेन थ्रेड पर जहां यह पहले की तरह फंस जाएगा।
स्क्रॉल करते समय लेबल को अपडेट करने का कोई तरीका है?
मैंने सोचा था कि निर्धारित टाइमर विथटाइमइंटरवाल इसे वर्तमान रन लूप में जोड़ता है जो मुख्यRunLoop है क्योंकि मेरा एप्लिकेशन सिंगल थ्रेडेड है। –
NSRunLoopCommonModes आपके टाइमर को तब भी कॉल कर देगा जब टेबल व्यू आपके स्पर्श को ट्रैक कर रहा है। – DHamrick
@Alexander: यह इसे * डिफ़ॉल्ट * रन लूप मोड में जोड़ता है, सभी सामान्य * रन * रन लूप मोड नहीं मानते हैं। टच ट्रैकिंग के दौरान, डिफ़ॉल्ट लूप के अलावा कुछ मोड में रन लूप चलाया जा रहा है, इसलिए आपका टाइमर चेक नहीं किया जाता है। –