मैं अपने tableview को अद्यतन करने के बारे में एक मुश्किल समस्या है, मैं इसे अद्यतन करने के विभिन्न तरीकों का उपयोग कर विभिन्न परिणाम प्राप्त, मुझे स्पष्ट करता हूं:tableview reloadData बनाम beginUpdates और endUpdates
स्थिति 1: मैं [tbl reloadData];
जहां tbl
का उपयोग टेबलव्यू अपडेट करने के लिए मेरा टेबल व्यू है - इरादे के अनुसार काम करता है।
स्थिति 2: मैं का उपयोग करें:
[tbl beginUpdates];
[tbl reloadRowsAtIndexPaths:indexPaths withRowAnimation:UITableViewRowAnimationRight];
[tbl endUpdates];
कहाँ tbl
मेरी tableview है, और indexPaths
सभी indexPaths tableview में मौजूद युक्त एक सरणी है। अब सरणी ठीक है, इसमें सभी सही इंडेक्सपैथ (डबल और ट्रिपल चेक) शामिल हैं लेकिन किसी कारण से - यह इरादे से काम नहीं करता है।
अब मुझे एहसास है कि यह एक एक्सवाई समस्या है (जहां मैं वाई के लिए पूछता हूं लेकिन मेरी समस्या वास्तव में एक्स है क्योंकि मुझे लगता है कि वाई को हल करना एक्स को हल करेगा) और ऐसा इसलिए है क्योंकि मुझे लगता है कि यह एक्स को समझाने में थोड़ा जटिल है (परिणाम उपर्युक्त समस्या से कहा) एक आसान तरीके से, इसलिए यदि संभव हो तो मैं उससे बच जाऊंगा।
तो, मेरे प्रश्न के नीचे: क्या तालिका दृश्य (पाठ्यक्रम के एनीमेशन बिट से अलग) को अपडेट करने के दो तरीकों के बीच कोई अंतर है या मुझे समस्या को कहीं और रखना चाहिए?
संपादित करें:
cellForRowAtIndexPath
-method में मैं एक नियत टैग जो सेल की indexPath पंक्ति के बराबर है के साथ प्रत्येक कक्ष के लिए एक बटन जोड़ें: ठीक है, मैं समझाने के लिए क्या लक्षण हैं की कोशिश करेंगे , इस तरह के तरह:
btn.tag = indexPath.row;
कारण मैं इस तो मैं प्रत्येक बटन की पहचान कर सकते हैं के रूप में वे सभी एक ही समारोह फोन है:
- (void)btnPressed:(id)sender
जब मैं कोशिकाओं को अद्यतन करता हूं - क्योंकि कोशिकाओं में कुछ मान बदल गए हैं - स्थिति 1 सबकुछ ठीक काम करता है, स्थिति 2 हालांकि - टैग को मिश्रित करती है ताकि अगली बार बटनों में से एक दबाया जा सके, उनके पास अब नहीं होगा सही टैग
मिश्रण-अप मेरे लिए यादृच्छिक दिखाई देता है, लेकिन यादृच्छिकरण अलग-अलग होता है कि मैं कौन से सेल्स बटन को दबाता हूं। मुझे उम्मीद है कि यह मेरी समस्या को स्पष्ट करता है।
"मुझे अलग-अलग परिणाम मिलते हैं," "यह इरादे से काम नहीं करता है।" किस तरह से? – TigerCoding
ठीक है, प्रत्येक सेल को टैग पर एक बटन मिलता है, जहां टैग बटन होता है, जहां 'बटन टैग = इंडेक्स पथ पंक्ति' होता है। स्थिति 1 में बटन सही टैग प्राप्त करता है, स्थिति 2 में - यह नहीं करता है। –