Donc j'essaye d'implémenter une barre de recherche dans mon application et suis très proche mais ne peux pas sembler savoir où cette erreur de mémoire se produit. C'est quelle partie de ma méthode de recherche ressemble à:barre de recherche iPad mauvais accès à la mémoire?
filters = [[NSMutableArray alloc] init];
NSString *searchText = detailSearch.text;
NSMutableArray *searchArray = [[NSMutableArray alloc] init];
// Normally holds the object (ex: 70 locations)
searchArray = self.copyOfFilters ;
//This is the line that is breaking after ~2-3 letters are entered in the search
for (NSString *sTemp in searchArray)
{
NSRange titleResultsRange = [sTemp rangeOfString:searchText options:NSCaseInsensitiveSearch];
if (titleResultsRange.length > 0)
[filters addObject:sTemp];
}
displayedFilters = filters;
copyOfFilters est une copie en profondeur des filtres affichés qui apparaissent lorsque la vue du premier chargement via:
self.copyOfFilters = [[NSMutableArray alloc] initWithArray:displayedFilters copyItems:YES];
j'ai tracé par l'entrée de lettres et il est précis après 2 lettres, mais une fois que vous essayez et entrez une lettre après un espace dans la barre de recherche, il se bloque. La valeur de copyOfFilters = {(int) [nombre $ VAR]} objets. Est-ce que quelqu'un sait ce qui peut causer cela? Merci!
avez-vous essayé "po searchArray" dans GDB à ce stade? Que produit-il – VdesmedT
Je l'ai résolu, voir mon commentaire sur votre réponse. :) – gabaum10