2016-05-06 15 views
0

Whenver i versucht, Daten von Zelle zu bekommen leer Wert zurückgibt, jedoch fand ich, dass ich nicht in der Lage bin Daten von Zelle zu lesen sind Scolled Up/Down von TableviewTableview keine Daten wich bekommen rollt nach oben oder unten

hier klart Bild meiner Situation enter image description here

hier wird im Kodex mit für Datenrettung

NSMutableArray *arrTmp = [[NSMutableArray alloc] init]; 
    for(int i = 0; i<[tblView numberOfRowsInSection:0]; i++){ 
     NSIndexPath *indexPath = [NSIndexPath indexPathForRow:i inSection:0]; 
     FUCellView *cell   = [tblView cellForRowAtIndexPath:indexPath]; 
     UITextField *tfNo   = (UITextField *)[cell viewWithTag:i + 100]; 
     UIButton *btnTime  = (UIButton *)[cell viewWithTag:i + 200]; 
     UITextField *tfVisit  = (UITextField *)[cell viewWithTag:i + 300]; 
     UIButton *btnProvider = (UIButton *)[cell viewWithTag:i + 400]; 

     NSMutableDictionary *theDictionary = [[NSMutableDictionary alloc] init]; 
     if([tfNo.text length] > 0 && tfNo.text != nil){ 
      NSString* str = [tfNo.text stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]]; 
      [theDictionary setObject:str forKey:@"number"]; 
     } 
     else{ 
      [theDictionary setObject:@"" forKey:@"number"]; 
     } 
     if([btnTime.titleLabel.text length] > 0 && btnTime.titleLabel.text != nil){ 
      NSString* str = [btnTime.titleLabel.text stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]]; 
      [theDictionary setObject:str forKey:@"time"]; 
     } 
     else{ 
      [theDictionary setObject:@"" forKey:@"time"]; 
     } 
     if([tfVisit.text length] > 0 && tfVisit.text != nil){ 
      NSString* str = [tfVisit.text stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]]; 
      [theDictionary setObject:str forKey:@"visit_type"]; 
     } 
     else{ 
      [theDictionary setObject:@"" forKey:@"visit_type"]; 
     } 
     if([btnProvider.titleLabel.text length] > 0 && btnProvider.titleLabel.text != nil){ 
      NSString* str = [btnProvider.titleLabel.text stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]]; 
      [theDictionary setObject:str forKey:@"provider"]; 
     } 
     else{ 
      [theDictionary setObject:@"" forKey:@"provider"]; 
      NSLog(@"ProviderELse"); 
     } 
     [arrTmp addObject:theDictionary]; 

Antwort

1

Wie ich Sie verstehen, Sie ur Daten woanders halten sollte (u könnte ein Modell mit Daten Recht haben?) und dann App Modellsatz (in cellForRowAtIndexPath) UITableView. Es ist nicht erforderlich, Daten direkt von UITableView festzulegen oder abzurufen. Bitte lesen Sie die offizielle Dokumentation here

Here ist eine nette Lektion über Table View. Viel Glück.

+0

zum Speichern von Daten mit Arrays, die gelöscht wurden Wahrscheinlich oft Zeit, so fand ich diesen Ansatz für mich einfacher, hat einen Nachteil. OK wird über Ihre Anregung denken – iDeepak

+1

Bitte lesen Sie über MVC (Modell - Ansicht - Controller) -Muster, Ihre Ansicht sollte keine Daten halten, nur zeigen, und die Ansicht kann nicht direkt interagieren mit Modell nur durch Controller.Wenn Ihr Array oft gelöscht versuchen um die ursprüngliche Version dieses Arrays in einer Art Singleton (Entwurfsmuster) zu halten und im Controller mit einer Kopie dieses Arrays zu arbeiten. –

0

UITableview verwendet die Zellen erneut. Sie können also die Werte nicht für for loop abrufen. Dies wird Null zurückgeben.

Ein besserer Ansatz besteht darin, ein Datenmodell zum Speichern der Werte zu verwenden.

Beispiel: Erstellen Sie ein Datenmodell. Fügen Sie einige Eigenschaften hinzu. Und Wägezellen mit diesen Eigenschaften. Jetzt müssen Sie nur die Eigenschaften des Modellobjekts aktualisieren.

Speichern Sie diese Modellobjekte in einem Array.

Endlich können Sie die Daten jederzeit bereit haben.

+0

Ich bin nicht vertraut mit Core Data, wird versuchen, Ihren Ansatz mit zwei oder mehr Array's zu implementieren, Vielen Dank für die Antwort – iDeepak

+0

Ich werde einige Beispielcode für Sie –

+0

Vielen Dank @Abdul Yasin – iDeepak

Verwandte Themen