2016-12-04 98 views
-2
 
    2016-12-04 16:31:16.519 BlogReader[1881:75140] *** Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[__NSSingleObjectArrayI objectAtIndex:]: index 1 beyond bounds [0 .. 0]' 
*** First throw call stack: 
(
    0 CoreFoundation      0x000000010ab4f34b __exceptionPreprocess + 171 
    1 libobjc.A.dylib      0x000000010a5b021e objc_exception_throw + 48 
    2 CoreFoundation      0x000000010aba7bdf -[__NSSingleObjectArrayI objectAtIndex:] + 111 
    3 UIKit        0x000000010b730fe9 -[UITableViewDataSource tableView:heightForRowAtIndexPath:] + 181 
    4 UIKit        0x000000010b39406b -[UITableViewController tableView:heightForRowAtIndexPath:] + 63 
    5 UIKit        0x000000010b0e9d7e -[UITableView _dataSourceHeightForRowAtIndexPath:] + 99 
    6 UIKit        0x000000010b323ac6 __66-[UISectionRowData refreshWithSection:tableView:tableViewRowData:]_block_invoke + 368 
    7 UIKit        0x000000010b323081 -[UISectionRowData refreshWithSection:tableView:tableViewRowData:] + 3375 
    8 UIKit        0x000000010b328d31 -[UITableViewRowData rectForFooterInSection:heightCanBeGuessed:] + 501 
    9 UIKit        0x000000010b328e8f -[UITableViewRowData heightForTable] + 56 
    10 UIKit        0x000000010b0aaf36 -[UITableView _updateContentSize] + 381 
    11 UIKit        0x000000010b0d346f -[UITableView _rebuildGeometry] + 40 
    12 UIKit        0x000000010b0d16e3 -[UITableView setLayoutMargins:] + 282 
    13 UIKit        0x000000010b0d15a7 -[UITableView _setDefaultLayoutMargins:] + 103 
    14 UIKit        0x000000010b10a7dc -[UIViewController _setContentOverlayInsets:] + 646 
    15 UIKit        0x000000010b10b26c -[UIViewController _updateContentOverlayInsetsFromParentIfNecessary] + 2162 
    16 UIKit        0x000000010b10a859 -[UIViewController _updateContentOverlayInsetsForSelfAndChildren] + 101 
    17 UIKit        0x000000010b1162d8 -[UIViewController _updateLayoutForStatusBarAndInterfaceOrientation] + 1027 
    18 UIKit        0x000000010b11c002 -[UIViewController viewDidMoveToWindow:shouldAppearOrDisappear:] + 1238 
    19 UIKit        0x000000010b030620 -[UIView(Internal) _didMoveFromWindow:toWindow:] + 1590 
    20 UIKit        0x000000010b0480e2 -[UIScrollView _didMoveFromWindow:toWindow:] + 85 
    21 UIKit        0x000000010b03031d -[UIView(Internal) _didMoveFromWindow:toWindow:] + 819 
    22 UIKit        0x000000010b0236b4 __45-[UIView(Hierarchy) _postMovedFromSuperview:]_block_invoke + 151 
    23 UIKit        0x000000010b0235a2 -[UIView(Hierarchy) _postMovedFromSuperview:] + 857 
    24 UIKit        0x000000010b0332eb -[UIView(Internal) _addSubview:positioned:relativeTo:] + 1982 
    25 UIKit        0x000000010b0217a1 -[UIView(Hierarchy) addSubview:] + 838 
    26 UIKit        0x000000010b43de77 -[UINavigationTransitionView transition:fromView:toView:] + 645 
    27 UIKit        0x000000010b155747 -[UINavigationController _startTransition:fromViewController:toViewController:] + 3314 
    28 UIKit        0x000000010b155ce5 -[UINavigationController _startDeferredTransitionIfNeeded:] + 874 
    29 UIKit        0x000000010b156dc7 -[UINavigationController __viewWillLayoutSubviews] + 58 
    30 UIKit        0x000000010b34dd6f -[UILayoutContainerView layoutSubviews] + 223 
    31 UIKit        0x000000010b036f50 -[UIView(CALayerDelegate) layoutSublayersOfLayer:] + 1237 
    32 QuartzCore       0x000000010f7b8cc4 -[CALayer layoutSublayers] + 146 
    33 QuartzCore       0x000000010f7ac788 _ZN2CA5Layer16layout_if_neededEPNS_11TransactionE + 366 
    34 QuartzCore       0x000000010f7ac606 _ZN2CA5Layer28layout_and_display_if_neededEPNS_11TransactionE + 24 
    35 QuartzCore       0x000000010f73a680 _ZN2CA7Context18commit_transactionEPNS_11TransactionE + 280 
    36 QuartzCore       0x000000010f767767 _ZN2CA11Transaction6commitEv + 475 
    37 QuartzCore       0x000000010f7680d7 _ZN2CA11Transaction17observer_callbackEP19__CFRunLoopObservermPv + 113 
    38 CoreFoundation      0x000000010aaf3e17 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23 
    39 CoreFoundation      0x000000010aaf3d87 __CFRunLoopDoObservers + 391 
    40 CoreFoundation      0x000000010aad84b6 CFRunLoopRunSpecific + 454 
    41 UIKit        0x000000010af6c7e6 -[UIApplication _run] + 434 
    42 UIKit        0x000000010af72964 UIApplicationMain + 159 
    43 BlogReader       0x0000000109fd96ff main + 111 
    44 libdyld.dylib      0x000000010d92f68d start + 1 
) 
libc++abi.dylib: terminating with uncaught exception of type NSException 
(lldb) 
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{ 
    if([segue.identifier isEqualToString:@"showBlogPost"]){ 
     NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow]; 
     BlogPost *blogPost = [self.blogPost objectAtIndex:indexPath.row]; 
     [segue.destinationViewController setBlogPostURL:blogPost.url]; 
    } 

我不知道是什麼問題。NSRangeException原因

+0

'indexPathForSelectedRow'可以返回'nil'。你應該檢查一下。 – vadian

+1

發佈的代碼不會導致錯誤。嘗試獲取某一行的高度時,該錯誤在某個表視圖中很深。 – rmaddy

回答

0

當您試圖通過indexPath.row索引獲取元素時,您的self.blogPost沒有元素。

+0

可以寫出正確的代碼 –

+0

你的'self.blogPost'包含什麼? –

+0

self.blogPost = [NSMutableArray array]; NSArray * blogPostArray = [dataDictionary objectForKey:@「posts」]; for(NSDictionary * bpDictionary in blogPostArray){ BlogPost * blogPost = [BlogPost blogPostWithTitle:[bpDictionary objectForKey:@「title」]]]; blogPost.author = [bpDictionary objectForKey:@「author」];blogPost.thumbnail = [bpDictionary objectForKey:@「thumbnail」]; blogPost.date = [bpDictionary objectForKey:@「date」]; blogPost.url = [bpDictionary objectForKey:@「url」]; [self.blogPost addObject:blogPost]; } –

相關問題