2013-09-28 4 views
8

पर भेजा गया संदेश अब मैं दो दिनों के लिए एक अजीब समस्या से जूझ रहा हूं। मैं SO पर हर संबंधित प्रश्न के माध्यम से चला गया लेकिन किसी ने भी इस मुद्दे को हल नहीं किया। मैं एक्सकोड 5 पर काम कर रहा हूं। मैं एआरसी और कोरडाटा का उपयोग कर रहा हूँ।[सीएफस्ट्रिंग रिलीज]: संदेश को हटाए गए संदेश

iOS7 (सिम्युलेटर) पर:

`[CFString release]: message sent to deallocated instance` 

Thread 1, Queue : com.apple.main-thread 
0 0x03c7d3ba in __kill() 
1 0x03c7c4b8 in kill$UNIX2003() 
2 0x0347a921 in ___forwarding___() 
3 0x0347a4ee in _CF_forwarding_prep_0() 
4 0x02b7b002 in -[NSConcreteAttributedString dealloc]() 
5 0x02f66692 in objc_object::sidetable_release(bool)() 
6 0x02f65e81 in objc_release() 
7 0x02f66ce7 in (anonymous namespace)::AutoreleasePoolPage::pop(void*)() 
8 0x00739bc4 in CA::Transaction::observer_callback(__CFRunLoopObserver*, unsigned long, void*)() 
9 0x0345253e in __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__() 
10 0x0345248f in __CFRunLoopDoObservers() 
11 0x034303b4 in __CFRunLoopRun() 
12 0x0342fb33 in CFRunLoopRunSpecific() 
13 0x0342f94b in CFRunLoopRunInMode() 
14 0x04bd19d7 in GSEventRunModal() 
15 0x04bd17fe in GSEventRun() 
16 0x0196794b in UIApplicationMain() 
17 0x0000262d in main 

दूसरी पंक्ति जहाँ मैं सेल के पाठ लेबल सेट करने के लिए Zombies उपकरण बिंदु:

cell.txtLabel.text = _reservationModule.newReservationText; 
cell.subtitleTxtLabel.text = _reservationModule.newReservationSubtitle; 

_reservationModule एक कोर डाटा स्ट्रिंग गुण की विशेषता इकाई है ।

Event Type ∆ RefCt RefCt Timestamp Responsible Library Responsible Caller 
Malloc/Retain/Release (4) 01:01.114.922 CoreData _prepareResultsFromResultSet 
0 Malloc +1 1 01:01.114.922 CoreData _prepareResultsFromResultSet 
1 Retain +1 2 01:01.116.184 CoreData -[_CDSnapshot mutableCopy] 
2 Release -1 1 01:01.318.588 MyApp  -[ReservationModuleChoice2ViewController configureSubtitleImageTableViewCell:atIndexPath:] 
3 Release -1 0 01:05.004.359 CoreData -[_CDSnapshot dealloc] 
4 Zombie  -1 01:07.441.465 CoreData -[_CDSnapshot dealloc] 

वे हालांकि Xcode 4.6.x पर हुआ कभी नहीं किया है: यह दृश्य नियंत्रक के रूप में @property (nonatomic, strong) ReservationModule *reservationModule;

ज़ोंबी इतिहास परिभाषित किया है। किसी भी मदद की अत्यधिक सराहना की है!

धन्यवाद!

+0

यह मैं एआरसी के लिए मदद की है निर्दिष्ट घोषणा कर सकते हैं: http://stackoverflow.com/a/10596942/3411787 –

उत्तर

27

जवाब मामूली बात है और कुछ भी नहीं बनाए रखने के काउंटर के साथ क्या करना है ...

मैं का निरीक्षण किया है कि यह नाम चर/संपत्तियों की अनुमति नहीं है एआरसी साथ new के साथ शुरू सक्षम होना चाहिए। यह स्पष्ट रूप से एक से अधिक रिहाई के परिणामस्वरूप इस प्रकार त्रुटि पैदा ...

एप्पल प्रलेखन से: https://developer.apple.com/library/ios/releasenotes/objectivec/rn-transitioningtoarc/introduction/introduction.html

मैनुअल बनाए रखने के रिलीज कोड के साथ अंतर्संचालन की अनुमति देने के लिए, एआरसी विधि नामकरण पर एक बाधा लगाता है:

आप एक एक्सेसर को ऐसा नाम नहीं दे सकते जो नए से शुरू होता है। यह बदले में मतलब है कि आप नहीं, उदाहरण के लिए, एक संपत्ति जिसका नाम नए के साथ शुरू होता है जब तक आप एक अलग गेटर

+0

गुण हां; यह स्थानीय * चर * पर लागू नहीं होता है। –

+2

और अभी भी स्विफ्ट कोड में हो सकता है :(बस इस उत्तर का उपयोग कोरडाटा विशेषता के साथ समस्या को ट्रैक करने में मदद के लिए किया गया है, जिसे "new_notifications_count" कहा जाता है, – christophercotton

+1

ओएमजी आपको बहुत धन्यवाद !!!! पवित्र बकवास, क्या एक अजीब मुद्दा है ... –

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