TableView in Abhängigkeit von Array und UIPangesture

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • TableView in Abhängigkeit von Array und UIPangesture

    Hallo,

    ich hock schon seit Stunden davor und hab den Fehler zwar gefunden, aber ich weiß nicht wie ich ihn beheben kann.

    Fallbeschreibung:
    - Ich habe ein UIImage (Rädchen) welches ich mit einer Pangesture Bewegung nach oben oder nach unten bewege.
    - Geht der Finger nach oben, dann bewegt sich das Rädchen nach oben (startAnimation). gbf auch andersrum.
    - Dazu habe ich ein Array erstellt, welches ein Tableview damit füllt.
    - Das bedeutet, wenn ich nach oben bewege wandert mein tableview nach oben und mein selected Item auch (row).

    -> Soweit klappt auch alles, wenn ich den cell.textlabel.text NICHT abhängig vom Array mache!
    -> Sind die Werte im Tableview aber abhängig von dem Array, dann gibt er mir folgende Fehlermeldung!

    Quellcode

    1. 2011-11-22 15:47:19.301 GruenbeckiPhone[2110:707] counterForPlanOrProd: 1
    2. 2011-11-22 15:47:20.456 GruenbeckiPhone[2110:707] pdfNr Selected Row: 1
    3. 2011-11-22 15:47:31.048 GruenbeckiPhone[2110:707] pdfNr Selected Row: 1
    4. 2011-11-22 15:47:33.272 GruenbeckiPhone[2110:707] pdfNr Selected Row: 1
    5. 2011-11-22 15:47:35.785 GruenbeckiPhone[2110:707] pdfNr Selected Row: 2
    6. 2011-11-22 15:47:37.086 GruenbeckiPhone[2110:707] pdfNr Selected Row: 3
    7. 2011-11-22 15:47:39.893 GruenbeckiPhone[2110:707] pdfNr Selected Row: 4
    8. 2011-11-22 15:47:40.650 GruenbeckiPhone[2110:707] pdfNr Selected Row: 3
    9. 2011-11-22 15:47:41.965 GruenbeckiPhone[2110:707] pdfNr Selected Row: 2
    10. 2011-11-22 15:47:42.722 GruenbeckiPhone[2110:707] pdfNr Selected Row: 1
    11. 2011-11-22 15:47:43.379 GruenbeckiPhone[2110:707] pdfNr Selected Row: 2
    12. 2011-11-22 15:47:43.875 GruenbeckiPhone[2110:707] pdfNr Selected Row: 3
    13. 2011-11-22 15:47:44.234 GruenbeckiPhone[2110:707] pdfNr Selected Row: 4
    14. 2011-11-22 15:47:44.628 GruenbeckiPhone[2110:707] pdfNr Selected Row: 5
    15. 2011-11-22 15:47:45.027 GruenbeckiPhone[2110:707] pdfNr Selected Row: 6
    16. 2011-11-22 15:47:45.301 GruenbeckiPhone[2110:707] *** Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[__NSArrayI objectAtIndex:]: index 9 beyond bounds [0 .. 8]'
    17. *** First throw call stack:
    18. (0x342178bf 0x322391e5 0x3416f275 0x257c5 0x373f59cb 0x373f4aa9 0x373f4233 0x37398d4b 0x3417622b 0x32e80381 0x32e7ff99 0x32e8411b 0x32e83e57 0x32eab6f1 0x32ece4c5 0x32ece379 0x3542df93 0x33491891 0x341e0f43 0x341eb553 0x341eb4f5 0x341ea343 0x3416d4dd 0x3416d3a5 0x325c2fcd 0x373c3743 0x25d9 0x2598)
    19. terminate called throwing an exceptionkill
    20. quit
    Alles anzeigen

    Ja mein Array hat nur Platz für 9 items. Aber ich lad doch nur den Text hinein und scroll dann unabhängig hoch und runter? oder verstehe ich das falsch?
    Wenn ich ihm aber zum Beispiel sage, dass numberOfRowsInSection 9 ist, und es NICHT vom Array abhängig mache, dann macht er keine Probleme. Das bestätigt doch das ganze oder?

    Mein Code:

    Quellcode

    1. - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    2. return 15;//([pdfArray count]+4);//+ 4, damit der selektierte Wert auch immer oben bleibt! 4 zellen dienen als Platzhalter
    3. }
    4. - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    5. static NSString *CellIdentifier = @"Cell";
    6. UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    7. if (cell == nil) {
    8. cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
    9. }
    10. cell.textLabel.text = [pdfArray objectAtIndex:indexPath.row]; //ich meine das hier der Fehler ist !
    11. return cell;
    12. }
    13. - (void)customReloadTableDefault {
    14. int tempNumber = pdfNr - 1;
    15. [table selectRowAtIndexPath:[NSIndexPath indexPathForRow:tempNumber inSection:0] animated:YES scrollPosition:0];
    16. [table scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:tempNumber inSection:0] atScrollPosition:UITableViewScrollPositionTop animated:YES];
    17. NSLog(@"pdfNr Selected Row: %i", pdfNr);//zuständig für die aktuelle selektion und positionierung der Auswahl
    18. }
    Alles anzeigen


    sry für die vielen Fragen -.-
    lernen, lernen, lernen :)
  • das ist es ja, wieso ich es nicht verstehe -.-

    >>cell.textLabel.text = [pdfArray objectAtIndex:indexPath.row]; <<

    Lasse ich das hier weg, dann funktioniert es einwandfrei. Ich kann so oft hoch und runerscrollen, er stürzt nicht ab.
    Entkommentiere ich diese Zeile bricht er nach diesen 9 Scrolleinheiten ab! Aber damit bennene ich doch nur die Zellen in Abhängigkeit vom Array?!

    oder?
    lernen, lernen, lernen :)
  • Klingt brutal, aber eventuell solltest Du Dir ein anderes Hobby suchen.

    Wenn du angibst das du 15 Zellen hast, dann werden auch 15 Zellen angefragt. Wenn Du dann versuchst 15 Objekte aus Deinem 9er Array auszulesen. Was meinst du was dann anderes passieren kann als das was Du selber oben geschrieben hast ?
    2 Stunden Try & Error erspart 10 Minuten Handbuchlesen.

    Pre-Kaffee-Posts sind mit Vorsicht zu geniessen :)