2011-02-07 16 views
12

क्या यह संभव है? केवल उन कोशिकाओं को पुनः लोड करने के लिए जो इसे अधिक कुशल बनाने के लिए दिखाई दे रहे हैं।केवल लोड पर डेटा लोड करें दृश्यमान कक्ष देखें

आपके समय के लिए धन्यवाद।

+0

कैसे कुछ संदर्भ प्रदान करने के बारे में? क्या भाषा/ढांचा/पुस्तकालय/कुछ भी? –

+0

ओह क्षमा करें। मैं objetive-c भाषा में प्रोग्रामिंग कर रहा हूं (आईओएस एसडीके 4.0) – Samui

उत्तर

23

इस प्रकार तालिका दृश्य डिफ़ॉल्ट रूप से काम करते हैं। UITableView कक्षा तब तक कोशिकाओं को तब तक लोड नहीं करती जब तक वे ऑनस्क्रीन नहीं दिख रहे हों, भले ही आप reloadData पर कॉल करें।

+0

धन्यवाद jlehr, आप सही हैं। मैं उस विवरण को भूल गया! – Samui

+0

jlehr @ आप किसी भी संदर्भ –

8

इस प्रयास करें, आप tableview का उपयोग कर reloadRowsAtIndexPaths:

[self.tableView beginUpdates]; 
[self.tableView reloadRowsAtIndexPaths:[self.tableView indexPathsForVisibleRows] 
       withRowAnimation:UITableViewRowAnimationNone]; 
[self.tableView endUpdates]; 
+0

प्रदान कर सकते हैं मैंने पाया केवल स्थानों निम्नलिखित 'reloadRowsAtIndexPaths' का उपयोग कर सकते हैं: - (शून्य) tableView: (UITableView *) tableView didSelectRowAtIndexPath: (NSIndexPath *) indexPath - (IBAction) unwindToMealList: (UIStoryboardSegue *) प्रेषक –

5

स्विफ्ट 3.0 में tableview के दृश्य कोशिकाओं को फिर से लोड करने के लिए में से किसी सेल को फिर से लोड कर सकते हैं:

pTableView.beginUpdates() 

pTableView.reloadRows(at: 
pMessagesTableView.indexPathsForVisibleRows!, with: .none) 

pTableView.endUpdates()