iOS-Fehler: [__NSArrayI objectAtIndex:]: Index 1 jenseits der Grenzen [0 .. 0]
In meiner Anwendung versuche ich, Inhalte von einer URL zu laden, sie in einem veränderlichen Array zu speichern und sie in einer Tabellenansicht anzuzeigen. Aber ich kann es nicht zum Laufen bringen, da bei jedem Start der App dieser Fehler auftritt:
*** Terminating app due to uncaught exception 'NSRangeException',
reason: '*** -[__NSArrayI objectAtIndex:]: index 1 beyond bounds [0 .. 0]'
*** First throw call stack:
(0x34dd088f 0x36d9e259 0x34d2823d 0x316e562f 0x315f09a9 0x313c0c5d 0x313c1b95 0x313c1ae7
0x313c16c3 0xa5cfb 0x33623ec7 0x35387a09 0x35390051 0x33622965 0xa4dc1 0x313a8e33
0x313cd629 0x31391d7d 0x314544dd 0x3139a55d 0x3139a579 0x3139a40b 0x3139a3e7 0x313a8015
0x313a1985 0x3136fc6b 0x3136f70f 0x3136f0e3 0x3439222b 0x34da4523 0x34da44c5 0x34da3313
0x34d264a5 0x34d2636d 0x313a0a13 0x3139de7d 0xa4745 0xa46dc)
terminate called throwing an exception
Ich erstelle das Array, mit dem die Tabelle in meinem viewDidLoad gefüllt werden soll:
_videos = [[NSMutableArray alloc] init];
Dann verbinde ich mich mit der URL und analysiere die empfangenen XML-Daten. Das funktioniert genauso wie es sollte. Wenn ein bestimmtes Tag geöffnet wird, erstelle ich meine Videoobjekte und füge sie nach dem Füllen mit Daten meinem Array hinzu mit:
[_videos addObject:currentVideo];
Dies scheint auch zu funktionieren, da es die richtige Anzahl von Videos zurückgibt, wenn
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return _videos.count;
}
wird genannt. Aber nach diesem Zeitpunkt stürzt die App ab und ich erreiche nicht einmal den Punkt, an dem ich versuche, meine Tabellenansicht zu füllen. Die Funktion sieht folgendermaßen aus:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
Video *curVideo = [_videos objectAtIndex:indexPath.row];
static NSString *CellIdentifier = @"CustomCell";
CustomCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil)
cell = [[CustomCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier];
cell.titleLabel.text = [curVideo title];
cell.descLabel.text = [curVideo desc];
return cell;
}
Was mache ich falsch
Danke im Voraus