【发布时间】:2011-02-01 18:21:58
【问题描述】:
我目前正在处理的代码需要将 NSNumber 对象添加到数组中。所有值为 0-12 的 NSNumber 都可以正常添加,但 13 之后会导致 EXC_BAD_ACCESS。我打开了 NSZombieEnabled,现在收到了*** -[CFNumber retain]: message sent to deallocated instance 0x3c78420。
这是调用堆栈:#0 0x01eac3a7 in ___forwarding___#1 0x01e886c2 in __forwarding_prep_0___#2 0x01e3f988 in CFRetain#3 0x01e4b586 in _CFArrayReplaceValues#4 0x0002a2f9 in -[NSCFArray insertObject:atIndex:]#5 0x0002a274 in -[NSCFArray addObject:]#6 0x00010a3b in -[Faves addObject:] at Faves.m:24 #7 0x000062ff in -[ShowController processFave] at ShowController.m:458#8 0x002af405 in -[UIApplication sendAction:to:from:forEvent:]#9 0x00312b4e in -[UIControl sendAction:to:forEvent:]#10 0x00314d6f in -[UIControl(Internal) _sendActionsForEvents:withEvent:]#11 0x00313abb in -[UIControl touchesEnded:withEvent:]#12 0x002c8ddf in -[UIWindow _sendTouchesForEvent:]#13 0x002b27c8 in -[UIApplication sendEvent:]#14 0x002b9061 in _UIApplicationHandleEvent#15 0x02566d59 in PurpleEventCallback#16 0x01e83b80 in CFRunLoopRunSpecific#17 0x01e82c48 in CFRunLoopRunInMode#18 0x02565615 in GSEventRunModal#19 0x025656da in GSEventRun#20 0x002b9faf in UIApplicationMain#21 0x00002498 in main at main.m:14
如果它没有被隔离到某个范围的 NSNumbers,我会认为我的内存管理搞砸了,但我只是不知道。
有什么想法吗?
谢谢,
乔什
【问题讨论】:
-
这是因为 ObjC 有 triskaidekaphobia :p.
标签: objective-c iphone debugging nsnumber