मैं विभिन्न अपनी रिपोर्टों में प्रदर्शित दुर्घटनाओं कि निम्न कारणों से रिपोर्ट कर रहे हैं:newParagraphStyle दुर्घटना नहीं लगा पाई
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'failed to generate newParagraphStyle'
एप्लिकेशन है कि इस पर हो रहा है प्रोग्राम के रूप में जिम्मेदार ठहराया पाठ का एक बहुत सेट करता है (फ़ॉन्ट, रंग , कभी-कभी अनुच्छेद शैलियों), लेकिन मुझे सीधे इससे संबंधित कोई पैटर्न नहीं मिल रहा है। क्या मैं देख पा रहे हैं लगभग सभी रिपोर्टों के setLineBreakMode के कुछ फार्म के लिए स्टैक ट्रेस में एक संदर्भ शामिल है:
-[_UICascadingTextStorage(Accessors) setLineBreakMode:]
मैं इस अपने आप को बनाने में समर्थ नहीं किया गया है, लेकिन यह एक काफी नियमित आधार पर दिखाई देती है मेरी दुर्घटना रिपोर्टिंग पर। मैं विशेष रूप से इनमें से किसी भी स्थान पर लाइन ब्रेक मोड सेट नहीं कर रहा हूं। कोई विचार?
संपादित करें: मैंने इसमें अधिक समय बिताया और पुनरुत्पादन के लिए एक पैटर्न खोजने में सक्षम था। तो मेरे पास UITextField है, और जब आप कीबोर्ड पर वापसी करते हैं तो "/ n" वर्ण का पता लगाया जाता है और टेक्स्टफील्ड अपनी पहली प्रतिक्रियाकर्ता स्थिति से इस्तीफा देता है। यदि उसके बाद किसी भी बिंदु पर, आप फ़ील्ड के पाठ (या जिम्मेदार पाठ) को संशोधित करने का प्रयास करते हैं, तो यह क्रैश हो जाता है। एक महत्वपूर्ण तत्व है, यह केवल तभी होता है जब आपके पास टाइपिंग एट्रिब्यूट सेट हो। इससे कोई फर्क नहीं पड़ता कि वे क्या सेट कर रहे हैं।
मैंने सब कुछ करने की कोशिश की, टेक्स्ट सेट करने से पहले टाइपिंग एट्रिब्यूट्स सेट करना, एक निश्चित स्ट्रिंग सेट करना सुनिश्चित करने के लिए कि यह वह नहीं था जिसे हम इसे स्थापित कर रहे थे - कोई भाग्य नहीं। भिड़ता रहता है। ऐसा लगता है कि एक बार जब आप इस राज्य में आते हैं, तो टेक्स्टफील्ड बस टूट जाता है। इससे बचने के लिए एक हैक टेक्स्टफील्ड को उड़ाना और एक नया बनाना है - लेकिन यह सिर्फ यही है। एक हैक
कुछ और अधिक रोचक जानकारी, जिस तरह से कोड का पता लगाता है कि वापस कुंजी अच्छी तरह से नहीं लिखा गया था - यह "/ n" पता चला है और में नहीं लौटे:
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
यह उचित विधि का उपयोग नहीं किया:
- (BOOL)textFieldShouldReturn:(UITextField *)textField
अनुप्रयोग में एक जगह में यह वास्तव में, दुर्घटना तय अन्य स्थानों में यह हमेशा सही विधि का उपयोग किया गया था और दुर्घटना अभी भी हो रहा है। टेक्स्टफील्ड को उड़ाने और एक नया निर्माण करने के लिए एकमात्र काम है। मेरे लिए, यह आईओएस में एक बग की तरह लगता है।
मैं भी दुर्घटना हो गई ... परियोजना को साफ करें और फिर से पुनर्निर्माण करें .. मिश्रित .. पता नहीं क्या समस्या है –