2012-10-11 9 views
11

मुझे लगता है कि एक लीकी यूआईडीएटीपीकर है। मैंने तारीख और समय दिखाने के लिए दिनांक पिकरमोड सेट करने के लिए मेमोरी लीक नोट किया है। लेकिन, मैं केवल तारीख प्रदर्शित करने की कोशिश कर रहा हूं। मैं काफी हद तक निश्चित हूं कि यह एक ढांचा रिसाव है क्योंकि जब मैं कई UIDatePicker संपत्ति असाइनमेंट पर टिप्पणी करता हूं, तो लीक चले जाते हैं। इस कोड को लीक 1 CGColor वस्तु, और 1 UIDeviceRGBColor वस्तु:यूआईडीएटीपीकर लीक

datePicker = [[UIDatePicker alloc] initWithFrame:[self detailViewRect]]; 


datePicker.datePickerMode = UIDatePickerModeDate; //leaks CGColor when setting this 
datePicker.hidden = NO; 
datePicker.timeZone = [NSTimeZone systemTimeZone]; //leaks UIDeviceRGBColor 
datePicker.maximumDate = [NSDate date];//leaks UIDeviceRGBColor 
datePicker.autoresizingMask = UIViewAutoresizingFlexibleWidth; 

लाइनों उपकरण अपमानजनक के रूप में रिपोर्ट टिप्पणी करने से, मैं कोई लीक मिलती है: कम से कम तिथि मोड सेट बिना

datePicker = [[UIDatePicker alloc] initWithFrame:[self detailViewRect]]; 

//datePicker.datePickerMode = UIDatePickerModeDate; //leaks CGColor when setting this 
datePicker.hidden = NO; 
//datePicker.timeZone = [NSTimeZone systemTimeZone]; //leaks UIDeviceRGBColor 
//datePicker.maximumDate = [NSDate date];//leaks UIDeviceRGBColor 
datePicker.autoresizingMask = UIViewAutoresizingFlexibleWidth; 

, UIDatePicker है बेकार। क्या किसी के पास कामकाज है?

+1

क्या आपने डिवाइस पर रिसाव की जांच की? या केवल सिम्युलेटर पर? कभी-कभी सिम्युलेटर में स्मृति रिसाव बग होता है जो डिवाइस पर मौजूद नहीं होता है। – barley

+0

क्या आप एआरसी का उपयोग कर रहे हैं? – Kevin

+0

वर्कअराउंड के बारे में, रिसाव कितना बुरा है? –

उत्तर

2

यह दृष्टिकोण मेरे लिए काम किया:

कार्यक्रम संबंधी दृष्टिकोण के बजाय xib में DatePicker बनाएँ। फिर, गुण निरीक्षक पर, मोड को तिथि पर सेट करें।

+0

मुझे लगता है कि इसका मतलब है कि आपको पहले समस्या हो रही थी; और आपने यह करके समस्या हल की है। यदि हां, तो आप किस पर्यावरण में काम कर रहे थे? और आपने कोशिश की कि इससे पहले समस्या क्या हुई? – stephen

+0

आईपैड आईओएस 6 के लिए निर्माण कर रहा था। आईओएस 6.0 के साथ एक्सकोड 4.5.1। प्रारंभ में, मैंने डेटपीकर को प्रोग्रामिक रूप से बनाया - जिसका मतलब कोई xib फ़ाइल नहीं है - फिर मैं इस तरह से मोड सेट कर रहा था: [_datePicker setDatePickerMode: UIDatePickerModeDate]; जब मैं इंस्ट्रूमेंट्स में चेक करता हूं तो मुझे स्मृति रिसाव मिलती है। मैंने दिनांक पिकर को xib के साथ दोबारा कार्यान्वित किया और, मोड को पहले की तरह सेट करने के बजाय, मैंने इसे xib में सेट किया। जब मैंने इसे इंस्ट्रूमेंट्स में चेक किया तो वहां कोई रिसाव नहीं था। – yoninja

+1

मैं भी पुष्टि कर सकता हूं कि यदि आप इन विशेषताओं को आईबी (प्रोग्रामेटिक रूप से) में सेट करते हैं, तो 'यूआईडीएटीपीकर' इंस्ट्रूमेंट्स में रिसाव नहीं दिखाता है। हालांकि, यदि आप बाद में कोड के माध्यम से गुणों को सेट करते हैं तो 'UIDatePicker' रिसाव होगा (भले ही' UIDatePicker 'आईबी में बनाया गया हो)। यह फ्रेमवर्क कोड में स्पष्ट रूप से एक रिसाव है, और दुर्भाग्य से, जब तक ऐप्पल इसे ठीक नहीं करता है, यह स्वीकार करने के अलावा कोई अच्छा काम नहीं है कि यह रिसाव जा रहा है ...:/ –

संबंधित मुद्दे