问题描述
编辑
好的,我我启用了NSZombie和...我得到了一个不那么神秘的错误!哇哦!
EDITOk, I've enabled NSZombie and... I get a less cryptic error! Woohoo!
2010-09-17 18:48:56.576 <appname>[8088:207] *** -[MoreViewController performSelector:withObject:withObject:]: message sent to deallocated instance 0x5fa98e0
编辑2 借助乐器的Zombie模式,我设法发现了内存地址的内容,如下所示:
EDIT 2 With Instruments' Zombie Mode, I've managed to uncover the contents of the memory address, listed below:
# Category Event Type RefCt Timestamp Address Size Responsible Library Responsible Caller
0 MoreViewController Malloc 1 2968170752 0x5fa5ee0 144 UIKit -[UIClassSwapper initWithCoder:]
1 MoreViewController Retain 2 2968226816 0x5fa5ee0 0 UIKit -[UIRuntimeConnection initWithCoder:]
2 MoreViewController Retain 3 2968229888 0x5fa5ee0 0 Foundation -[NSKeyedUnarchiver _replaceObject:withObject:]
3 MoreViewController Release 2 2968232704 0x5fa5ee0 0 UIKit -[UIRuntimeConnection initWithCoder:]
4 MoreViewController Retain 3 2968236800 0x5fa5ee0 0 UIKit -[UIRuntimeConnection initWithCoder:]
5 MoreViewController Autorelease 2968259840 0x5fa5ee0 0 UIKit -[UIRuntimeConnection initWithCoder:]
6 MoreViewController Retain 4 2968262912 0x5fa5ee0 0 UIKit -[UIRuntimeConnection initWithCoder:]
7 MoreViewController Retain 5 2968322816 0x5fa5ee0 0 UIKit -[UIRuntimeConnection initWithCoder:]
8 MoreViewController Autorelease 2968324864 0x5fa5ee0 0 UIKit -[UIRuntimeConnection initWithCoder:]
9 MoreViewController Retain 6 2968331776 0x5fa5ee0 0 UIKit -[UIRuntimeConnection initWithCoder:]
10 MoreViewController Retain 7 2986161920 0x5fa5ee0 0 UIKit -[UIRuntimeConnection initWithCoder:]
11 MoreViewController Autorelease 2986163712 0x5fa5ee0 0 UIKit -[UIRuntimeConnection initWithCoder:]
12 MoreViewController Retain 8 2986166784 0x5fa5ee0 0 UIKit -[UIRuntimeConnection initWithCoder:]
13 MoreViewController Retain 9 2986367744 0x5fa5ee0 0 UIKit -[UIRuntimeConnection initWithCoder:]
14 MoreViewController Autorelease 2986369792 0x5fa5ee0 0 UIKit -[UIRuntimeConnection initWithCoder:]
15 MoreViewController Retain 10 2986371840 0x5fa5ee0 0 UIKit -[UIRuntimeConnection initWithCoder:]
16 MoreViewController Release 9 2986498816 0x5fa5ee0 0 UIKit -[UINib instantiateWithOwner:options:]
17 MoreViewController Release 8 2986510848 0x5fa5ee0 0 UIKit -[UINib instantiateWithOwner:options:]
18 MoreViewController Release 7 2986524928 0x5fa5ee0 0 UIKit -[UINib instantiateWithOwner:options:]
19 MoreViewController Release 6 2986529792 0x5fa5ee0 0 UIKit -[UINib instantiateWithOwner:options:]
20 MoreViewController Retain 7 2986635008 0x5fa5ee0 0 Foundation -[NSKeyedUnarchiver _decodeArrayOfObjectsForKey:]
21 MoreViewController Retain 8 2986648832 0x5fa5ee0 0 Foundation -[NSKeyedUnarchiver _decodeArrayOfObjectsForKey:]
22 MoreViewController Release 7 2986650880 0x5fa5ee0 0 Foundation -[NSKeyedUnarchiver _decodeArrayOfObjectsForKey:]
23 MoreViewController Retain 8 2986679040 0x5fa5ee0 0 Foundation -[NSArray(NSArray) initWithCoder:]
24 MoreViewController Release 7 2986705920 0x5fa5ee0 0 UIKit -[UINib instantiateWithOwner:options:]
25 MoreViewController Retain 8 2986823936 0x5fa5ee0 0 Foundation -[NSKeyedUnarchiver _decodeArrayOfObjectsForKey:]
26 MoreViewController Retain 9 2986860800 0x5fa5ee0 0 Foundation -[NSKeyedUnarchiver _decodeArrayOfObjectsForKey:]
27 MoreViewController Release 8 2986900736 0x5fa5ee0 0 Foundation -[NSKeyedUnarchiver _decodeArrayOfObjectsForKey:]
28 MoreViewController Retain 9 2986923776 0x5fa5ee0 0 Foundation -[NSArray(NSArray) initWithCoder:]
29 MoreViewController Release 8 2986969856 0x5fa5ee0 0 UIKit -[UINib instantiateWithOwner:options:]
30 MoreViewController Retain 9 2987261952 0x5fa5ee0 0 UIKit -[UINib instantiateWithOwner:options:]
31 MoreViewController Release 8 2987425792 0x5fa5ee0 0 Foundation -[NSKeyedUnarchiver dealloc]
32 MoreViewController Release 7 2987520000 0x5fa5ee0 0 Foundation -[NSKeyedUnarchiver dealloc]
33 MoreViewController Release 6 2987686656 0x5fa5ee0 0 Foundation -[NSKeyedUnarchiver dealloc]
34 MoreViewController Release 5 2987698944 0x5fa5ee0 0 Foundation -[NSKeyedUnarchiver dealloc]
35 MoreViewController Release 4 2987756032 0x5fa5ee0 0 UIKit -[UIRuntimeConnection dealloc]
36 MoreViewController Release 3 2987793920 0x5fa5ee0 0 UIKit -[UIRuntimeConnection dealloc]
37 MoreViewController Release 2 2987811840 0x5fa5ee0 0 UIKit -[UIRuntimeConnection dealloc]
38 MoreViewController Release 1 2987849984 0x5fa5ee0 0 UIKit -[UIRuntimeConnection dealloc]
39 MoreViewController Release 0 2994390016 0x5fa5ee0 0 Foundation -[NSAutoreleasePool release]
40 MoreViewController Zombie -1 6312182784 0x5fa5ee0 0 UIKit -[UIApplication sendAction:to:from:forEvent:]
我注意到 - [NSAutoreleasePool release]
在之前被调用 - [UIApplication sendAction:to:from:forEvent:]
...这可能是我的问题吗?我该如何解决?
I did notice that -[NSAutoreleasePool release]
is called before -[UIApplication sendAction:to:from:forEvent:]
... could that be my problem? How would I resolve that?
再次感谢您的回复,每个人都有帮助。
Thanks again for your responses, every one helps.
编辑4
输出信息malloc
命令:
Output from info malloc
command:
2010-09-17 19:41:57.305 <appname>[8440:207] *** -[MoreViewController performSelector:withObject:withObject:]: message sent to deallocated instance 0x63ae170
[Switching to process 8440]
(gdb) info malloc 0x63ae170
Alloc: Block address: 0x063ae170 length: 132
Stack - pthread: 0xa0541500 number of frames: 49
0: 0x947170c3 in malloc_zone_calloc
1: 0x9471701a in calloc
2: 0x25cdb5b in _internal_class_createInstanceFromZone
3: 0x25d07a6 in class_createInstance
4: 0x23a3108 in +[NSObject(NSObject) allocWithZone:]
5: 0x23a2f0a in +[NSObject(NSObject) alloc]
6: 0x4a6039 in -[UIClassSwapper initWithCoder:]
7: 0x1669c in _decodeObjectBinary
8: 0x15809 in _decodeObject
9: 0x4a5d77 in -[UIRuntimeConnection initWithCoder:]
10: 0x4a62e5 in -[UIRuntimeEventConnection initWithCoder:]
11: 0x1669c in _decodeObjectBinary
12: 0x1746d in -[NSKeyedUnarchiver _decodeArrayOfObjectsForKey:]
13: 0x17a9c in -[NSArray(NSArray) initWithCoder:]
14: 0x1669c in _decodeObjectBinary
15: 0x15809 in _decodeObject
16: 0x4a5034 in -[UINib instantiateWithOwner:options:]
17: 0x4a6eb5 in -[NSBundle(UINSBundleAdditions) loadNibNamed:owner:options:]
18: 0x35c95f in -[UIViewController _loadViewFromNibNamed:bundle:]
19: 0x35a675 in -[UIViewController loadView]
20: 0x35a54f in -[UIViewController view]
21: 0x36c73e in -[UITabBarController transitionFromViewController:toViewController:transition:shouldSetSelected:]
22: 0x36b2b2 in -[UITabBarController transitionFromViewController:toViewController:]
23: 0x36d08c in -[UITabBarController _setSelectedViewController:]
24: 0x36cefb in -[UITabBarController _tabBarItemClicked:]
25: 0x2b07f8 in -[UIApplication sendAction:to:from:forEvent:]
26: 0x4ad2d0 in -[UITabBar _sendAction:withEvent:]
27: 0x2b07f8 in -[UIApplication sendAction:to:from:forEvent:]
28: 0x33bde0 in -[UIControl sendAction:to:forEvent:]
29: 0x33e262 in -[UIControl(Internal) _sendActionsForEvents:withEvent:]
30: 0x33bd97 in -[UIControl sendActionsForControlEvents:]
31: 0x2b07f8 in -[UIApplication sendAction:to:from:forEvent:]
32: 0x33bde0 in -[UIControl sendAction:to:forEvent:]
33: 0x33e262 in -[UIControl(Internal) _sendActionsForEvents:withEvent:]
34: 0x33ce0f in -[UIControl touchesEnded:withEvent:]
35: 0x2d43d0 in -[UIWindow _sendTouchesForEvent:]
36: 0x2b5cb4 in -[UIApplication sendEvent:]
37: 0x2ba9bf in _UIApplicationHandleEvent
38: 0x2d5e822 in PurpleEventCallback
39: 0x245fff4 in __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__
40: 0x23c0807 in __CFRunLoopDoSource1
41: 0x23bda93 in __CFRunLoopRun
42: 0x23bd350 in CFRunLoopRunSpecific
43: 0x23bd271 in CFRunLoopRunInMode
44: 0x2d5d00c in GSEventRunModal
45: 0x2d5d0d1 in GSEventRun
46: 0x2beaf2 in UIApplicationMain
47: 0x1a78 in main at /Users/Sean/Desktop/<appname>/main.m:13
48: 0x1a09 in start
编辑5
我仍然没有想到这一点......任何人都可以帮忙吗?
I still haven't figured this out... can ANYONE help?
推荐答案
我没弄明白原因,但通过将视图移动到一个 XIB
来解决错误。
I didn't figure out the cause, but the errors were resolved by moving the views into one XIB
.
无论如何,谢谢。
这篇关于使用UIAlertView时,奇怪的SIGABRT(无法识别的选择器发送到实例)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!