iOS - 无法找到Exception的位置

时间:2014-07-03 08:16:34

标签: ios iphone objective-c uitableview ios7

发生了什么事?

我在要调用函数的程序中遇到异常在按钮上点击contentView UItableViewCell内的自定义视图

我尝试了什么?

1)我尝试在Breakpoints Navigator

中添加全局例外点

2)从乐器

检查僵尸侦测

3)应该调用的函数中的断点

我收到的崩溃日志?

-[UIImageView nextPage:]: unrecognized selector sent to instance 0xa7d5f20
 *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UIImageView nextPage:]: unrecognized selector sent to instance 0xa7d5f20'
*** First throw call stack:
(
    0   CoreFoundation                      0x023e11e4 __exceptionPreprocess + 180
    1   libobjc.A.dylib                     0x01fc98e5 objc_exception_throw + 44
    2   CoreFoundation                      0x0247e243 -[NSObject(NSObject) doesNotRecognizeSelector:] + 275
    3   CoreFoundation                      0x023d150b ___forwarding___ + 1019
    4   CoreFoundation                      0x023d10ee _CF_forwarding_prep_0 + 14
    5   libobjc.A.dylib                     0x01fdb880 -[NSObject performSelector:withObject:withObject:] + 77
    6   UIKit                               0x009463b9 -[UIApplication sendAction:to:from:forEvent:] + 108
    7   UIKit                               0x00946345 -[UIApplication sendAction:toTarget:fromSender:forEvent:] + 61
    8   UIKit                               0x00a47bd1 -[UIControl sendAction:to:forEvent:] + 66
    9   UIKit                               0x00a47fc6 -[UIControl _sendActionsForEvents:withEvent:] + 577
    10  UIKit                               0x00a47243 -[UIControl touchesEnded:withEvent:] + 641
    11  UIKit                               0x00cdc2e3 _UIGestureRecognizerUpdate + 7166
    12  UIKit                               0x00985a5a -[UIWindow _sendGesturesForEvent:] + 1291
    13  UIKit                               0x00986971 -[UIWindow sendEvent:] + 1021
    14  UIKit                               0x009585f2 -[UIApplication sendEvent:] + 242
    15  UIKit                               0x00942353 _UIApplicationHandleEventQueue + 11455
    16  CoreFoundation                      0x0236a77f __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 15
    17  CoreFoundation                      0x0236a10b __CFRunLoopDoSources0 + 235
    18  CoreFoundation                      0x023871ae __CFRunLoopRun + 910
    19  CoreFoundation                      0x023869d3 CFRunLoopRunSpecific + 467
    20  CoreFoundation                      0x023867eb CFRunLoopRunInMode + 123
    21  GraphicsServices                    0x0381a5ee GSEventRunModal + 192
    22  GraphicsServices                    0x0381a42b GSEventRun + 104
    23  UIKit                               0x00944f9b UIApplicationMain + 1225
    24  IslamBox                            0x000029bc main + 76
    25  libdyld.dylib                       0x034b3701 start + 1
)
libc++abi.dylib: terminating with uncaught exception of type NSException
  

我还能做什么,因为这些功能已在Nib文件中注册?

UPDATE:,因为日志显示 - [UIImageView nextpage]无法识别,但下一页位于ViewController中。因为自定义视图是ViewController的视图添加到单元格的contentView。

3 个答案:

答案 0 :(得分:1)

如果使用ARC,我需要保留我的ViewController,或者保留对它的强引用。如果我将它作为局部变量分配给cell.contentView,那么当调用nextPage:时它就不会再存在了。 (错误显示其内存已被释放并重新用于其他类型的对象。)

答案 1 :(得分:0)

可能只是因为xib文件中的对象设置为UIImageView而不是您自己的UIImageView自定义子类吗?

当从xib分配视图时,它将是一个UIImageView。将它链接到.h或.m中的不同内容不会改变它。

在此更改:enter image description here

答案 2 :(得分:0)

如果每次都在[UIImageView nextPage:]崩溃, 你可以尝试

@implementation UIImageView(Test)

- (id)nextPage:(id)noUse
{
    return nil;
}

@end

并在返回时设置断点。