tl; डॉ: वास्तविक ऊंचाई के मान क्या आप अनुमान से काफी अलग के लिए देखो। या वास्तविक मान जो नकारात्मक हैं या 0
हैं।
मैंने इस बाधा अपवाद को डिबग करने में कुछ मिनट बिताए हैं। मेरे पास कक्ष, सेक्शन हेडर और सेक्शन फूटर के साथ UITableView
है। इनमें से प्रत्येक आईओएस 7 estimatedHeightFor
संदेशों को परिभाषित किया गया था, static const
मूल्य लौटा रहा था। मैंने कोशिकाओं, शीर्षकों और पाद लेखों को हटा दिया, एक समय में जब तक मैंने यह निर्धारित नहीं किया कि यह मुद्दा पाद लेख से आ रहा था (यदि आपके पास पाद लेख नहीं हैं तो महत्वपूर्ण नहीं है, कृपया पढ़ें)।
यदि मैंने estimatedHeightForFooterInSection:
को हटा दिया, तो अपवाद गायब हो गया। मेरे heightForFooterInSection:
में, एक पथ है जिसमें पाद लेख की ऊंचाई 0
होगी। जब मैंने estimatedHeight
संदेश को पुनर्स्थापित किया और 0
की वास्तविक ऊंचाई के लिए कोड पथ को हटा दिया, तो अपवाद भी चला गया। मैंने 0
को 22
के साथ बदल दिया और अपवाद को फिर से प्रकट होने से पहले इस मान को 12 तक घटा दिया।
भले ही, मैं पाद लेख की ऊंचाई की जरूरत 0
होने के लिए (मैं उस मामले में viewForFooterInSection:
से nil
वापसी) और मैं ऊंचाई (मैं गतिशील पाठ का समर्थन कर रहा हूँ) अनुमान लगाने के लिए सक्षम होना चाहते हैं। मेरा समाधान कोड पथ के लिए खाता था जो मुझे ऊंचाई estimatedHeightForFooterInSection:
में देगी। एक बार मैंने इसे जोड़ा, अपवाद दूर चला गया।
+1 # 4 के लिए +1। एफडब्ल्यूआईडब्ल्यू इस बाधा अपवाद आईओएस 7 में होता है लेकिन 8 में नहीं। –
@ रिचर्डशिन नोट के लिए धन्यवाद। मैंने यह जवाब देने के लिए अपना जवाब अपडेट किया कि कार्यक्षमता आईओएस 8 में काफी बदल गई है। –
दूसरा मामला आईओएस 10 के लिए वास्तविक है। यह आईओएस 11 में तय किया गया था। एक त्वरित नमूना: https://github.com/OlesyaS/UITableView-ios10-crash/blob/master/table/ViewController.m –