2013-10-19 12 views
5

पर अमान्य संदर्भ 0x0 मैं अपने ऐप में एक UITextField का उपयोग कर रहा हूं। मैं [texfield becomeFirstResponder] का उपयोग कर रहा हूं। यह ठीक काम करता है और दृश्य लोड होने पर कीबोर्ड लोड करता है। हालांकि, यह त्रुटि तब आती है जब मैं UITextField पर इसे लाए जाने के बाद फिर से क्लिक करता हूं। मैं ठीक से समझ नहीं क्यों, लेकिन यहां उत्पादन मैं हो रही है:UITextField (एक्सकोड 5)

CGContextSetFillColorWithColor: invalid context 0x0. 
CGContextSetStrokeColorWithColor: invalid context 0x0. 
CGContextSaveGState: invalid context 0x0. 
CGContextSetFlatness: invalid context 0x0. 
CGContextAddPath: invalid context 0x0. 
CGContextDrawPath: invalid context 0x0. 
CGContextRestoreGState: invalid context 0x0. 
CGContextSaveGState: invalid context 0x0. 
CGContextSetFlatness: invalid context 0x0. 
CGContextAddPath: invalid context 0x0. 
CGContextDrawPath: invalid context 0x0. 
CGContextRestoreGState: invalid context 0x0. 

यहाँ मेरी कोड है:

// ViewController.h 
@interface ViewController : UIViewController 
@property (strong, nonatomic) IBOutlet UITextField *textField; 

@end 


// ViewController.m 
@synthesize textField; 

- (void)viewDidLoad 
{ 
    [textField becomeFirstResponder]; 
    [super viewDidLoad]; 
    // Do any additional setup after loading the view, typically from a nib. 
} 
+0

क्या आप कुछ और कोड पोस्ट कर सकते हैं। ? – Priyatham51

+1

मेरा मतलब है कि मैं वास्तव में नहीं जानता कि मैं कितना स्रोत कोड लॉल जोड़ सकता हूं। इसकी सुंदर आत्म-व्याख्यात्मक। मैंने इसे संपादित किया हालांकि @ प्रियथम51 – Zack

+0

यह बग के बारे में आश्चर्यजनक है। आप इसे शून्य कोड के साथ पुन: उत्पन्न कर सकते हैं - आपको टेक्स्ट फ़ील्ड के आउटलेट की भी आवश्यकता नहीं है। हालांकि, चेतावनी को पुन: उत्पन्न करने के लिए जब आप दो बार टैप करते हैं तो टेक्स्ट फ़ील्ड को पूरी तरह रिक्त होने की आवश्यकता होती है। इसके अलावा, यह बग सिम्युलेटर और डिवाइस पर आईओएस 7.0.3 दोनों में बनी हुई है। – bilobatum

उत्तर

4

मुझे विश्वास है कि आपको आईओएस बग (या कम से कम एक सिम्युलेटर बग) मिला है। UITextField पर स्टोरीबोर्ड पर

  • नया प्रोजेक्ट (एकल देखें)
  • खींचें UITextField
  • भागो
  • क्लिक करें: आप और भी अधिक बस इसे पुन: पेश कर सकते हैं।
  • UITextField
  • पर UITextField
  • क्लिक से दूर क्लिक करें
  • त्रुटियों

मैं एक रडार खोलने की सलाह देते हैं का निरीक्षण करें (कुछ मामलों में, आप UITextField के बंद क्लिक करने के लिए फिर से की जरूरत है)।

+0

आपकी प्रतिक्रिया के लिए धन्यवाद। मैंने सोचा कि यह एक सिम्युलेटर बग हो सकता है लेकिन यकीन नहीं था। मुझे बस डर था कि इस ऐप का उत्पादन किया जाएगा और फिर काम नहीं करेगा इसलिए मैंने सोचा कि मैं देखता हूं कि स्टैक ओवरफ्लो पर मैं इससे क्या प्रतिक्रिया प्राप्त करूंगा। क्या आप समझा सकते हैं कि रडार क्या है और मैं इसे करूँगा। – Zack

+3

रडार bugreport.apple.com के लिए उपनाम है। "एक रडार" उस प्रणाली पर एक दोष खोला गया है। (आपके मनोरंजन के लिए: नाम "रडार" टीवी श्रृंखला माश से आता है, जिसमें उस नाम का एक चरित्र था जो हमेशा जानता था कि आप इससे पहले कि आप क्या चाहते थे।) –

+0

@Zack क्या आपने यह रडार भरा है? मैं बिल्कुल वही अनुभव कर रहा हूँ। – amb

-2

ऐसा लगता है कि आप स्क्रीन पर कुछ संदर्भ बना रहे हैं। आपको drawRect विधि में ड्राइंग के लिए कोड लिखना होगा। आपने पतंग कोड को कहीं और लिखा है। DrawRect विधि के भीतर सुनिश्चित करें कि आप जांचें कि संदर्भ मौजूद है या नहीं।

CGContextRef context = UIGraphicsGetCurrentContext(); 
    if (context) { 
     // Do your stuff 
      } 
+0

यदि आप स्रोत कोड को प्रतिलिपि बनाते हैं और पेस्ट करते हैं, तो मैंने ऊपर दिए गए एक नए प्रोजेक्ट में यूआईटीएक्स्टफिल्ड के साथ एक्सकोड 5 के स्टोरीबोर्ड में दिया है, तो जब आप यूआईटीएक्स्टफिल्ड को बनाया है तो यह आपको त्रुटि देगा। – Zack