Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

'NSInvalidArgumentException', reason: '-[__NSArrayI leftCapWidth]

I have three views that inherit from the UITableViewController class. The first one shows a list of locations, the second one shows a map with an annotation that represent the location of the row selected at the first view, the last one shows information about the location (address, image, ...). Some times when I push the back button into the second view, I get this error message.

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSArrayI leftCapWidth]: unrecognized selector sent to instance 0x6b57110'
*** Call stack at first throw:
(
 0   CoreFoundation                      0x02576919 __exceptionPreprocess + 185
 1   libobjc.A.dylib                     0x026c45de objc_exception_throw + 47
 2   CoreFoundation                      0x0257842b -[NSObject(NSObject) doesNotRecognizeSelector:] + 187
 3   CoreFoundation                      0x024e8116 ___forwarding___ + 966
 4   CoreFoundation                      0x024e7cd2 _CF_forwarding_prep_0 + 50
 5   UIKit                               0x003935b9 -[UIImageView(UIImageViewInternal) _shouldDrawImage:] + 35
 6   UIKit                               0x00392f3a -[UIImageView(UIImageViewInternal) _canDrawContent] + 411
 7   UIKit                               0x00308f20 -[UIView(Internal) _didMoveFromWindow:toWindow:] + 955
 8   UIKit                               0x00308cfc -[UIView(Internal) _didMoveFromWindow:toWindow:] + 407
 9   UIKit                               0x00308cfc -[UIView(Internal) _didMoveFromWindow:toWindow:] + 407
 10  UIKit                               0x00308cfc -[UIView(Internal) _didMoveFromWindow:toWindow:] + 407
 11  UIKit                               0x0031119a -[UIScrollView _didMoveFromWindow:toWindow:] + 71
 12  UIKit                               0x00308cfc -[UIView(Internal) _didMoveFromWindow:toWindow:] + 407
 13  UIKit                               0x00307b10 -[UIView(Hierarchy) _postMovedFromSuperview:] + 166
 14  UIKit                               0x00300a34 -[UIView(Internal) _addSubview:positioned:relativeTo:] + 1080
 15  UIKit                               0x002fed87 -[UIView(Hierarchy) addSubview:] + 57
 16  UIKit                               0x0050a829 -[UINavigationTransitionView transition:fromView:toView:] + 551
 17  UIKit                               0x0050a28d -[UINavigationTransitionView transition:toView:] + 56
 18  UIKit                               0x00381329 -[UINavigationController _startDeferredTransitionIfNeeded] + 266
 19  UIKit                               0x00380fc7 -[UINavigationController _popViewControllerWithTransition:allowPoppingLast:] + 386
 20  UIKit                               0x00381141 -[UINavigationController popViewControllerAnimated:] + 57
 21  UIKit                               0x003805b6 -[UINavigationController navigationBar:shouldPopItem:] + 148
 22  UIKit                               0x00327143 -[UINavigationBar _popNavigationItemWithTransition:] + 116
 23  UIKit                               0x0032def3 -[UINavigationBar _handleMouseUpAtPoint:] + 605
 24  UIKit                               0x002f42ff -[UIWindow _sendTouchesForEvent:] + 567
 25  UIKit                               0x002d61ec -[UIApplication sendEvent:] + 447
 26  UIKit                               0x002daac4 _UIApplicationHandleEvent + 7495
 27  GraphicsServices                    0x02ddcafa PurpleEventCallback + 1578
 28  CoreFoundation                      0x02557dc4 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 52
 29  CoreFoundation                      0x024b8737 __CFRunLoopDoSource1 + 215
 30  CoreFoundation                      0x024b59c3 __CFRunLoopRun + 979
 31  CoreFoundation                      0x024b5280 CFRunLoopRunSpecific + 208
 32  CoreFoundation                      0x024b51a1 CFRunLoopRunInMode + 97
 33  GraphicsServices                    0x02ddb2c8 GSEventRunModal + 217
 34  GraphicsServices                    0x02ddb38d GSEventRun + 115
 35  UIKit                               0x002deb58 UIApplicationMain + 1160
 36  TravelGuideTemplate                 0x00002730 main + 102
 37  TravelGuideTemplate                 0x000026c1 start + 53
)
terminate called after throwing an instance of 'NSException'

I do not why I am getting this message. Could someone help me?

Thanks for reading.

like image 522
Daniel García Baena Avatar asked Feb 26 '26 07:02

Daniel García Baena


1 Answers

I bet 1$ this is a memory management issue. I think your app tries to access an object which was released earlier.

Enable NSZombie and see if this changes the error message:

  1. double click the executable in the executables group
  2. open the second tab, arguments
  3. under Variables to be set in the environment add a variable named NSZombieEnabled, with a value of YES, and enable it by ticking the checkbox in front of it.
  4. Run your program again
  5. ??
  6. profit
like image 104
Matthias Bauch Avatar answered Feb 28 '26 04:02

Matthias Bauch