bonjour,
suite à mon problème de \n, je continue ma recherche sur un titre de livre/auteur.
pour une chaine égale pas de soucis isEqualToString fait l'affaire.
Par contre si je ne recherche qu'un morceau de la chaine ?
j'ai essayé avec compare: puis localizedCaseInsensitiveCompare:
mais je n'arrive à rien.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
 
- (void)findBookWithString:(NSString *)whichString 
				  ofType:(NSString *)newType
				 inArray:(NSMutableArray *)myList{
	Book *book;	
	//je regarde si c'est une recherche par auteur
	if ([newType isEqualToString:@"AUTEUR"]) {
		//je parcours mes livres
		for (NSString * key in myLibrary) {
			book=[myLibrary objectForKey:key];
			//si le nom de l'auteur est exactement le même casse comprise je le retrouve ça marche
			if ([book.author isEqualToString:whichString]) {
				[myList addObject:book];
			}
			//si je n'ai qu'une partie du nom et que je ne tiens pas compte de la casse je n'y arrive pas
			if ([book.author localizedCaseInsensitiveCompare:whichString]== NSOrderedSame){
				[myList addObject:book];
			}
		}
	}else {
	//pour une recherche sur le titre qui est aussi la clé de mon dictionnaire, qui serait aussi à revoir pour une recherche sur un mot du titre
		book=[myLibrary objectForKey:whichString];
		if (book != nil) {
				[myList addObject:book];
		}		
	}
}
pourquoi ma recherche n'aboutit pas ?
merci de vos conseils.