[CFString release]: message sent to the released instance

I’ve been struggling with a strange problem for two days now. I examined every question related to this, but no one solved the problem. I am working on Xcode5. I use ARC and CoreData.

In iOS7 (simulator):

`[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 Instruments point to the second line, where I set the cell text labels:

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

_reservationModule is a Core Data object that contains row properties. It is defined in the view controller as @property (nonatomic, strong) ReservationModule *reservationModule;

Zombie story:

 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] 

They never occurred on Xcode 4.6.x. Any help is much appreciated!

Thanks!

+8
ios core-data nszombie cfstring
source share
1 answer

The answer is trivial and has nothing to do with saving counters ...

I observed that it is not allowed to specify variables / properties, starting with new with ARC enabled. This obviously led to release, which led to an error ...

From the Apple documentation: https://developer.apple.com/library/ios/releasenotes/objectivec/rn-transitioningtoarc/introduction/introduction.html

To provide interoperability with a manual residual release code, ARC places a restriction on the method name:

You cannot provide an accessory name that starts with a new one. This in turn means that you cannot, for example, declare a property whose name starts with a new one unless you specify another getter

+27
source share

All Articles