iphone - UITableViewController not redrawing new cell text label after popViewControllerAnimated -


मेरे पास एक समस्याजनक UITableViewController बच्चा दृश्य निकाल दिए जाने के बाद एक अद्यतन सेल को फिर से करने में विफल रहता है।

यहाँ क्या हो रहा है बच्चे के दृश्य में डेटा बदलने के बाद, पैरेंट व्यू नियंत्रक स्रोत डेटा एरे पुनः लोड करता है और पोस्ट नोटिफिकेशन के माध्यम से [tableView reloadData] चलाता है ट्रिगर किए जाने के बाद, मैं पेरेंट UITableViewController पर वापस जाने के लिए popViewControllerAnimated का उपयोग करता हूं (यह स्टैक को बंद कर देता है, और नियंत्रक को एक स्तर ऊपर दिखाता है)

हालांकि, मेरा अद्यतन डेटा पैरेंट व्यू नियंत्रक में प्रकट नहीं होता है! डीबगर के अनुसार, सेल के लेबल को अपडेट कर दिया गया है, लेकिन दृश्य लेबल बदल नहीं रहा है। हालांकि, अगर मैं तालिका को स्क्रॉल-फ़्लिक करता हूं, तो क्षणभर अपडेट किए गए सेल को देखने के बाहर ले जाता है, जब यह फिर से दिखता है कि लेबल अपडेट हो चुका है!

मैं भी [tableview reloadData] के माध्यम से कॉल करने का प्रयास करता हूं viewWillAppear लेकिन यह समस्या अभी भी बनी रहती है।

यहां कुछ अतिरिक्त जानकारी है जो मददगार हो सकती है। मेरे पास इस तरह से संरचित 3 दृश्य हैं:

  1 / settingsViewController: UITableViewController 2 / - उपयोगकर्ता दृश्य: UITableViewController 3 / ---- प्रयोक्ता अवयव दृश्य: UIViewController & lt; UIActionSheetDelegate & gt;  

मैं UserDetailsView को UserView के अंदर से निम्न प्रकार से कॉल कर रहा हूं:

  UserDetailsView * userDetailsView = [[UserDetailsView alloc] init]; [आत्म। नेविगेशन नियंत्रक पुश ViewController: userDetailsView एनिमेटेड: हाँ];  

अगर मैं शीर्ष-सबसे अधिक नियंत्रक (SettingsViewController) पर वापस आ जाता हूं और तब समस्याग्रस्त नियंत्रक (UserView) को लोड करता है, तो सब कुछ सही तरीके से तैयार होता है। यह केवल तभी होता है जब बच्चे को देखने से यह समस्या आती है।

अपने सुझावों के लिए आपको पहले से धन्यवाद।

कुछ समय बाद हमने देखा कि टेबल व्यू हमेशा रिक्त था जब भी हम पुनः लोडडेटा भेजते हैं संदेश। जैसा कि आप उद्देश्य सी में पता कर सकते हैं, रिक्त ऑब्जेक्ट बिना किसी शिकायत के संदेश स्वीकार करते हैं।

यह पता चला है कि "किसी" (अहम, खेद है कि मैं) ने इस पंक्ति को हेडर फ़ाइल में परिभाषित किया था।

<पूर्व> UITableView * tableView;

अब आप स्मार्ट कुकीज़ को वहां से पता चलेगा क्योंकि हम यूआईटीलेवीयूआई नियंत्रक का विस्तार करते हैं, हमें टेबल के लिए एक सूचक बनाने की ज़रूरत नहीं है असल में मैंने एक रिक्त ऑब्जेक्ट के साथ विरासत में मिली मेजदृश्य को बदल दिया था।

रहस्य हल हो गया। उम्मीद है कि इसमें किसी और को भी मदद मिलेगी! : डी


Comments

Popular posts from this blog

sql - dynamically varied number of conditions in the 'where' statement using LINQ -

asp.net mvc - Dynamically Generated Ajax.BeginForm -

Debug on symbian -