berühren Ich habe Maintableview
(a UIViewController
) mit Inhalt und detailview
(a UIViewController
), die für jede der Zellen in Maintableview Detail zeigen.
Ich habe eine "Lieblings" -Taste in "Detailansicht" hinzugefügt, die Benutzer zu Favoritetableview
hinzufügen kann (ein UIViewController
) und alles gut funktionieren.App Absturz, wenn ich bestimmte Zelle in UITableView
Jetzt habe ich hinzugefügt "zu Favoriten hinzufügen" in Maintableview
mit Swipe nach links. Es fügt Inhalt erfolgreich zu Favoritetableview
hinzu, aber wenn ich diese Zelle in Favoritetableview
berühre, stürzt die APP ab.
Unten finden Sie die Konsolenprotokolle für den Absturz:
Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[__NSArrayI objectAtIndex:]: index 1 beyond bounds [0 .. 0]'
*** First throw call stack:
(
0 CoreFoundation 0x000000010a871d85 __exceptionPreprocess + 165
1 libobjc.A.dylib 0x000000010a2e3deb objc_exception_throw + 48
2 CoreFoundation 0x000000010a75a934 -[__NSArrayI objectAtIndex:] + 164
3 iranbirds 0x00000001075cf672 -[FavoriteTableViewController prepareForSegue:sender:] + 530
4 UIKit 0x00000001090c55d5 -[UIStoryboardSegueTemplate _performWithDestinationViewController:sender:] + 369
5 UIKit 0x00000001090c5433 -[UIStoryboardSegueTemplate _perform:] + 82
6 UIKit 0x0000000108b1b5f8 -[UIViewController performSegueWithIdentifier:sender:] + 99
7 iranbirds 0x00000001075cf42d -[FavoriteTableViewController tableView:didSelectRowAtIndexPath:] + 189
8 UIKit 0x0000000108ac51c6 -[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:] + 1887
9 UIKit 0x0000000108ac541b -[UITableView _userSelectRowAtPendingSelectionIndexPath:] + 388
10 UIKit 0x0000000108989f62 _runAfterCACommitDeferredBlocks + 317
11 UIKit 0x000000010899de4c _cleanUpAfterCAFlushAndRunDeferredBlocks + 95
12 UIKit 0x00000001089aa147 _afterCACommitHandler + 90
13 CoreFoundation 0x000000010a796c37 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23
14 CoreFoundation 0x000000010a796ba7 __CFRunLoopDoObservers + 391
15 CoreFoundation 0x000000010a78c7fb __CFRunLoopRun + 1147
16 CoreFoundation 0x000000010a78c0f8 CFRunLoopRunSpecific + 488
17 GraphicsServices 0x000000010be6bad2 GSEventRunModal + 161
18 UIKit 0x000000010897df09 UIApplicationMain + 171
19 iranbirds 0x00000001075d32ef main + 111
20 libdyld.dylib 0x000000010ba6492d start + 1
21 ??? 0x0000000000000001 0x0 + 1
)
libc++abi.dylib: terminating with uncaught exception of type NSException
Lieblingstabellenansicht:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
NSIndexPath *indexPath = (NSIndexPath *)sender;
Favorite *fav = (Favorite *)[self.fetchedResultsController objectAtIndexPath:indexPath];
NSString *combinedName = fav.name;
if ([segue.identifier isEqualToString:@"FavoriteBirdDetail"])
{
GeneralViewController *detailViewController = (GeneralViewController*)[segue destinationViewController];
detailViewController.birdName = [combinedName componentsSeparatedByString:@"^"][0];;
detailViewController.sciName = [combinedName componentsSeparatedByString:@"^"][1];;
detailViewController.managedOjbectContext = self.managedOjbectContext;
}
}
Diese Linie Ursache Fehler:
detailViewController.sciName = [combinedName componentsSeparatedByString:@"^"][1];
Jede Hilfe wäre geschätzt.
Welche Linie ist es zum Absturz auf? Sie haben versucht, mit einem Element auf das zweite Element eines Arrays zuzugreifen – Paulw11
Bitte updaten mit crashlog !! –
Ich fand crash line.but wenn Kommentar diese Zeile Ursache Benutzer kann die gleiche Zelle zweimal zu favoritetaableview hinzufügen. (Einmal aus dem Detail und ein anderes Mal von Swipe nach links von der Haupttabelle anzeigen) –