2011-01-07 5 views
2

In meiner App, die Sie hier herunterladen können: http://ge.tt/2DDqfJaiOS TableView Absturz weiß nicht wie. Hier ist die App

ich eine Diskussion begonnen haben, aber sie sind hier gestorben iOS TableView crash loading different data

Das Problem ist, wenn ich wieder aus der Betrachtung der YouTube-Video auf die Rezepte Liste , der App-Absturz ...

Und wenn ich eine Kategorie zum zweiten Mal auswählen, wo eine Tabellenansicht mit verschiedenen Datenquellen geladen werden muss, stürzt es ab.

Dies ist das Crash-Protokoll

Programmsignal empfangen: „EXC_BAD_ACCESS“.

(gdb) bt 
#0 0x00f0da63 in objc_msgSend() 
#1 0x04b27ca0 in ??() 
#2 0x00002665 in -[RecipesListController viewWillAppear:] (self=0x4b38a00, _cmd=0x6d81a2, animated=1 '\001') at /Users/claudiocanino/Documents/iOS/CottoMangiato/Classes/RecipesListController.m:67 
#3 0x00370c9a in -[UINavigationController _startTransition:fromViewController:toViewController:]() 
#4 0x0036b606 in -[UINavigationController _startDeferredTransitionIfNeeded]() 
#5 0x0037283e in -[UINavigationController pushViewController:transition:forceImmediate:]() 
#6 0x04f49549 in -[UINavigationControllerAccessibility(SafeCategory) pushViewController:transition:forceImmediate:]() 
#7 0x0036b4a0 in -[UINavigationController pushViewController:animated:]() 
#8 0x00003919 in -[CategoryViewController tableView:didSelectRowAtIndexPath:] (self=0x4b27ca0, _cmd=0x6d19e3, tableView=0x500c200, indexPath=0x4b2d650) at /Users/claudiocanino/Documents/iOS/CottoMangiato/Classes/CategoryViewCotroller.m:104 
#9 0x0032a794 in -[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:]() 
#10 0x00320d50 in -[UITableView _userSelectRowAtPendingSelectionIndexPath:]() 
#11 0x000337f6 in __NSFireDelayedPerform() 
#12 0x00d8cfe3 in __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__() 
#13 0x00d8e594 in __CFRunLoopDoTimer() 
#14 0x00ceacc9 in __CFRunLoopRun() 
#15 0x00cea240 in CFRunLoopRunSpecific() 
#16 0x00cea161 in CFRunLoopRunInMode() 
#17 0x016e0268 in GSEventRunModal() 
#18 0x016e032d in GSEventRun() 
#19 0x002c342e in UIApplicationMain() 
#20 0x00001c08 in main (argc=1, argv=0xbfffef58) at /Users/claudiocanino/Documents/iOS/CottoMangiato/main.m:15 

Ein weiteres bt log:

(gdb) bt 
#0 0x00cd76a1 in __CFBasicHashDeallocate() 
#1 0x00cc2bcb in _CFRelease() 
#2 0x00002dd6 in -[RecipesListController setRecipesArray:] (self=0x6834d50, _cmd=0x4293, _value=0x4e3bc70) at /Users/claudiocanino/Documents/iOS/CottoMangiato/Classes/RecipesListController.m:16 
#3 0x00002665 in -[RecipesListController viewWillAppear:] (self=0x6834d50, _cmd=0x6d81a2, animated=1 '\001') at /Users/claudiocanino/Documents/iOS/CottoMangiato/Classes/RecipesListController.m:67 
#4 0x00370c9a in -[UINavigationController _startTransition:fromViewController:toViewController:]() 
#5 0x0036b606 in -[UINavigationController _startDeferredTransitionIfNeeded]() 
#6 0x0037283e in -[UINavigationController pushViewController:transition:forceImmediate:]() 
#7 0x091ac549 in -[UINavigationControllerAccessibility(SafeCategory) pushViewController:transition:forceImmediate:]() 
#8 0x0036b4a0 in -[UINavigationController pushViewController:animated:]() 
#9 0x00003919 in -[CategoryViewController tableView:didSelectRowAtIndexPath:] (self=0x4b12970, _cmd=0x6d19e3, tableView=0x5014400, indexPath=0x4b2bd00) at /Users/claudiocanino/Documents/iOS/CottoMangiato/Classes/CategoryViewCotroller.m:104 
#10 0x0032a794 in -[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:]() 
#11 0x00320d50 in -[UITableView _userSelectRowAtPendingSelectionIndexPath:]() 
#12 0x000337f6 in __NSFireDelayedPerform() 
#13 0x00d8cfe3 in __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__() 
#14 0x00d8e594 in __CFRunLoopDoTimer() 
#15 0x00ceacc9 in __CFRunLoopRun() 
#16 0x00cea240 in CFRunLoopRunSpecific() 
#17 0x00cea161 in CFRunLoopRunInMode() 
#18 0x016e0268 in GSEventRunModal() 
#19 0x016e032d in GSEventRun() 
#20 0x002c342e in UIApplicationMain() 
#21 0x00001c08 in main (argc=1, argv=0xbfffef58) at /Users/claudiocanino/Documents/iOS/CottoMangiato/main.m:15 

Dank

+0

Sie könnten diese nur als Updates zu Ihrer [ursprünglichen Frage] hinzugefügt haben (http://stackoverflow.com/questions/4615321/ios-tableview-crash-loading-different-data) – Abizern

Antwort

0

Das Problem ist, Sie sind überfreigabe von Objekten. Da Sie Retain-Eigenschaften verwenden, müssen Sie das Objekt nicht freigeben, wenn Sie der Eigenschaft ein neues Objekt zuweisen. Das alte Objekt wird automatisch freigegeben. Also diese Zeilen keinen Sinn machen, löschen Sie sie:

if (self.recipesArray != nil) { 

    // Release the arrays 
    [self.recipesArray release]; 
    [self.recipesNames release]; 
} 

In cellForRowAtIndexPath (RecipesListController) Sie rowString veröffentlichen. Das ist hier nicht nötig. Löschen Sie diese Zeile und alles sollte ordnungsgemäß funktionieren.

+0

Das hat mein Problem gelöst. Wirklich tnx! – jollyr0ger

2

Sie haben wahrscheinlich versucht, auf ein Objekt zuzugreifen, die freigegeben worden ist. Suchen Sie nach "NSZombieEnabled" und lesen Sie, wie Sie Probleme mit der Überlastung beheben können.

+0

Danke für den Tipp, ich ' hat es dem Zombie ermöglicht, mehr Infos zu bekommen – jollyr0ger

0
NSDictionary *dict = [[NSDictionary alloc] initWithContentsOfFile:path]; 

self.recipesArray = dict; 

[dict release]; 

in Ihrer RecipesListController.m Datei Check 55 Zeile in viewwill erscheinen Sie freisetzen, sind das Objekt, das Sie nie Speicher

geben, wenn ich Kommentar zu //[self.recipesArray Release machen]; //[self.recipesNames release]; Dann stürzt es auf Tabelle Zeile überprüfen

+0

Sie waren nutzlos, du hast Recht. Ich lerne und ich habe warum vermisst. Tnx – jollyr0ger

Verwandte Themen