2012-03-31 6 views
0

Ich habe eine SearchBar in meiner Anwendung integriert. Und es hat gut funktioniert. Aber nach dem Hinzufügen neuer Elemente zu meinem TableView funktioniert meine searchBar nicht mehr. Ich erhalte Fehlermeldungen in diesem Codeblock:SearchBar funktioniert nicht mehr nach dem Hinzufügen neuer Objekte

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 

static NSString *CellIdentifier = @"Cell"; 

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; // Here i get: >Control reaches end of non void function< 

if (cell == nil) 
{ 
    cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:CellIdentifier] autorelease]; 
} 
if (searching) 
{ 
    VerwaltungInformation *searchedFormel = [copyListOfFormularies objectAtIndex:indexPath.row] ; //Here i get: >Thread 1: Program received signal "SIGABRT"< 

    cell.textLabel.text = searchedFormel.nameFormel; 
} 
else 
{ 
NSDictionary *dictionaryCell = [listOfFormularies objectAtIndex:indexPath.section]; 
NSArray *arrayCell = [dictionaryCell objectForKey:@"Formel"]; 

VerwaltungInformation *cellValue = [arrayCell objectAtIndex:indexPath.row]; 

cell.textLabel.text = cellValue.nameFormel; 
} 

return cell; 

Es gibt ein Problem mit dem cellIdentifier zu sein scheint - aber ich kann es nicht herausgefunden.

Danke für jede Hilfe!

Antwort

1

Die Warnung Control reaches end of non void function kommt, wenn Sie Ihre Methode non void abgeschlossen haben, ohne ein Objekt zurückzugeben. Um Ihr Problem herauszufinden, klicken Sie mit der rechten Maustaste auf Structure und wählen Sie Re – Indent. Jetzt können Sie die Struktur Ihres Codes leichter herausfinden und herausfinden, was passiert.

1

Ich vermute, das Problem könnte früher in der Quelldatei sein, über die Methode, die Sie gebucht haben. Bitte versuchen Sie dies:

Schritt 1:

@implementation MyClass 

@synthesize ... 

#if 0 

// all of the code that precedes cellForRowAtIndexPath 

#endif 

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 

// and so on 

Hat der Compiler immer noch auf dem CellIdentifier warnen? Meine Vermutung ist nein (obwohl Sie wahrscheinlich unten alle möglichen Fehler sehen werden, die sich auf Symbole beziehen, die Sie in #if #endif versteckt haben).

Schritt 2:

Bewegen Sie den #if #endif Paar Methoden in der Datei einer nach dem anderen zu wickeln, das Verfahren durch Verfahren, mit dem Verfahren über einen Start Sie auf dem Laufenden, bis die CellIdentifier Warnung erscheint wieder . Wenn dies der Fall ist, haben Sie die Ursache des Problems gefunden.

+0

Aber ich verstehe nicht, warum die searchBar funktioniert nicht mehr nach dem Hinzufügen neuer Elemente ... PS: Ich bin neu in objective-c ... ich kann nicht wirklich bekommen, was Sie meinen ... – Daniel05

+0

Sie sehen ein Compiler-Fehler, wie der Kommentar im Code anzeigt, oder kann die App ausgeführt werden und verhält sich nicht wie erwartet? – danh

+0

CellIdentifier = NSCFString * \t 0x1b440 Zelle Ich bekomme nichts anderes ... – Daniel05

Verwandte Themen