Michael M
Michael M

Reputation: 1034

Error when testing application on iPhone, but no error in simulator

I get the below error when I test my application on my iPhone, yet the error doesnt occur in the Simulator. Its when I load up my rootViewController which is a UITableView. I am relatively new to iOS programming, and I was just wondering if anybody could shed any light on it! Regards, Michael. Use this code to go to my RootView.

- (IBAction)goToRootView {
RootViewController *rootViewController = [[RootViewController alloc] initWithStyle:UITableViewStyleGrouped];
[self.navigationController pushViewController:rootViewController animated:YES];
[rootViewController release];

}

2011-09-12 14:39:55.951 LeagueProject[773:707] *** Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[NSMutableArray objectAtIndex:]: index 0 beyond bounds for empty array'
    *** Call stack at first throw:
    (
        0   CoreFoundation                      0x3684b64f __exceptionPreprocess + 114
        1   libobjc.A.dylib                     0x33aa4c5d objc_exception_throw + 24
        2   CoreFoundation                      0x367b6069 -[__NSArrayM objectAtIndex:] + 184
        3   LeagueProject                       0x0000302f -[RootViewController tableView:numberOfRowsInSection:] + 58
        4   UIKit                               0x356827c7 -[UISectionRowData refreshWithSection:tableView:tableViewRowData:] + 1338
        5   UIKit                               0x356836bb -[UITableViewRowData rectForFooterInSection:] + 66
        6   UIKit                               0x356835f5 -[UITableViewRowData heightForTable] + 40
        7   UIKit                               0x35683453 -[UITableView(_UITableViewPrivate) _updateContentSize] + 206
        8   UIKit                               0x3567ebc9 -[UITableView _rectChangedWithNewSize:oldSize:] + 384
        9   UIKit                               0x3567d833 -[UITableView setFrame:] + 158
        10  UIKit                               0x35684e0f -[UIView(Geometry) resizeWithOldSuperviewSize:] + 274
        11  UIKit                               0x356510bd -[UIView(Geometry) resizeSubviewsWithOldSize:] + 120
        12  UIKit                               0x356364e9 -[UIView(Geometry) setFrame:] + 336
        13  UIKit                               0x35688193 -[UIViewControllerWrapperView setFrame:] + 62
        14  UIKit                               0x35676079 -[UINavigationController _startTransition:fromViewController:toViewController:] + 960
        15  UIKit                               0x35675c43 -[UINavigationController _startDeferredTransitionIfNeeded] + 182
        16  UIKit                               0x35667d5d -[UINavigationController pushViewController:transition:forceImmediate:] + 640
        17  UIKit                               0x35667ad3 -[UINavigationController pushViewController:animated:] + 34
        18  LeagueProject                       0x0000917d -[splashView goToRootView] + 116
        19  CoreFoundation                      0x367bb571 -[NSObject(NSObject) performSelector:withObject:withObject:] + 24
        20  UIKit                               0x3564dec9 -[UIApplication sendAction:to:from:forEvent:] + 84
        21  UIKit                               0x3564de69 -[UIApplication sendAction:toTarget:fromSender:forEvent:] + 32
        22  UIKit                               0x3564de3b -[UIControl sendAction:to:forEvent:] + 38
        23  UIKit                               0x3564db8d -[UIControl(Internal) _sendActionsForEvents:withEvent:] + 356
        24  UIKit                               0x3564e423 -[UIControl touchesEnded:withEvent:] + 342
        25  UIKit                               0x3564cbf5 -[UIWindow _sendTouchesForEvent:] + 368
        26  UIKit                               0x3564c56f -[UIWindow sendEvent:] + 262
        27  UIKit                               0x35635313 -[UIApplication sendEvent:] + 298
        28  UIKit                               0x35634c53 _UIApplicationHandleEvent + 5090
        29  GraphicsServices                    0x35f6fe77 PurpleEventCallback + 666
        30  CoreFoundation                      0x36822a97 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 26
        31  CoreFoundation                      0x3682483f __CFRunLoopDoSource1 + 166
        32  CoreFoundation                      0x3682560d __CFRunLoopRun + 520
        33  CoreFoundation                      0x367b5ec3 CFRunLoopRunSpecific + 230
        34  CoreFoundation                      0x367b5dcb CFRunLoopRunInMode + 58
        35  GraphicsServices                    0x35f6f41f GSEventRunModal + 114
        36  GraphicsServices                    0x35f6f4cb GSEventRun + 62
        37  UIKit                               0x3565fd69 -[UIApplication _run] + 404
        38  UIKit                               0x3565d807 UIApplicationMain + 670
        39  LeagueProject                       0x000025a7 main + 82
        40  LeagueProject                       0x00002550 start + 40
    )
    terminate called after throwing an instance of 'NSException'

Upvotes: 0

Views: 354

Answers (2)

Robin Summerhill
Robin Summerhill

Reputation: 13675

It looks like the problem is in your implementation of [RootViewController tableView:numberOfRowsInSection:]. You are trying to access a member of a NSMutableArray that is empty - hence the error 'index 0 beyond bounds for empty array'.

Upvotes: 0

James Webster
James Webster

Reputation: 32066

Your error is an index 0 beyond bounds for empty array error. Put breakpoints on the lines where you access arrays. When you find out which array is causing the problem, either the solution will be trivial, or you can add a bit more to your question and ask for further help.

Upvotes: 1

Related Questions