J'essaie de saisir les derniers numéros x d'objets dans un tableau et de le stocker dans un autre tableau.
Comme cela, il fonctionne: p> Non: p> et l'erreur suivante apparaît dans le journal: p> 2013-03-13 15: 00: 43.475 [38565: 303] < em> * em> - [Nsarray SubardWithRange:]: plage {83255, 83259} s'étend au-delà des limites [0. 83258] P> Cependant, la gamme semble être à l'intérieur des limites, donc je suis Je ne sais pas pourquoi il donne cette erreur. P> p>
3 Réponses :
Le premier ne devrait pas travailler non plus. Les tableaux sont basés sur zéro, appelez donc la méthode Ça devrait fonctionner. Je ne sais pas pourquoi la première ligne fonctionne, cependant. P> p> compteur code> d'un tableau en retournera toujours une autre que le dernier index utilisé. Si vous modifiez votre code en
Quand je fais que je reçois l'erreur suivante: 2013-03-13 15: 48: 27.112 [38764: 303] *** - [Nsarray SubardWithRange:]: plage {86699, 86702} s'étend au-delà des limites [0. 86702] La gamme semble viable, mais les retours sont toujours allant au-delà des limites.
Je l'ai compris. J'ai mal compris que la deuxième valeur sur la plage est une valeur incrémentielle de la première valeur, les œuvres suivantes: NsmutableArraRay * lastlines = [[Subord-carranger: NSMakerange (Loglines.count - 5, 4)] Mutablecopy];
Si, par exemple, votre tableau a 10 éléments, Prenez-en un loin du nombre de compter pour obtenir la dernière position: p> comptage code> vous prend en position 10. En tant que tel, un tableau commence à partir de la position zéro et s'étend à la position 9, la position 10 sera de 1 au-delà.
Vous pouvez utiliser Pour éviter cela, utilisez simplement un nsarray -subarraywithrange: code> méthode comme autres réponses suggérées,
si code> pour vérifier le nombre de matrices d'abord ... p>