क्या यह पता लगाने का कोई तरीका है कि किसी UITableView
ने अपने डेटा स्रोत से डेटा मांगना कब समाप्त किया है?
में से कोई भी viewDidLoad
/ viewWillAppear
/ viewDidAppear
संबद्ध दृश्य नियंत्रक (के तरीकों UITableViewController
) वे के रूप में सभी आग बहुत जल्दी यहाँ उपयोग की कर रहे हैं। उनमें से कोई भी (पूरी तरह से समझ में नहीं आता) गारंटी देता है कि डेटा स्रोत के लिए क्वेरीज़ समय समाप्त हो गया है (उदाहरण के लिए, जब तक कि दृश्य स्क्रॉल नहीं किया जाता है)।
एक वैकल्पिक हल मैं पाया है कॉल करने के लिए है reloadData
में viewDidAppear
, के बाद से, जब reloadData
रिटर्न, तालिका दृश्य है जितना डेटा स्रोत क्वेरी करने के रूप में यह समय से किया जा रहा के लिए की जरूरत है समाप्त कर दिया है की गारंटी।
हालाँकि, ऐसा लगता है कि यह बुरा है, क्योंकि मुझे लगता है कि यह डेटा स्रोत को एक ही जानकारी के लिए दो बार (एक बार स्वचालित रूप से, और एक बार reloadData
कॉल के कारण) पूछा जाता है जब यह पहली बार लोड होता है।
कारण यह है कि मैं यह करना चाहता हूं कि मैं स्क्रॉल की स्थिति को संरक्षित करना चाहता हूं UITableView
- लेकिन पिक्सेल स्तर के ठीक नीचे, न केवल निकटतम पंक्ति में।
स्क्रॉल स्थिति को पुनर्स्थापित करते समय (उपयोग करके scrollRectToVisible:animated:
), मुझे पहले से ही इसमें पर्याप्त डेटा रखने के लिए तालिका दृश्य की आवश्यकता है, या फिर scrollRectToVisible:animated:
विधि कॉल कुछ भी नहीं करती है (जो कि यदि आप कॉल को किसी भी viewDidLoad
, viewWillAppear
या स्वयं के स्थान पर रखते हैं तो क्या होता है viewDidAppear
)।