2010-10-14 3 views
1
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"List.name == 'kristof\\'s list'"]; 

Fonctionne comme prévu. Cependant, je veux faire quelque chose comme ceci:NSPredicate dans NSFetchedResultsController agissant étrange

NSString *listName = [[[detailItem valueForKey:@"name"] description] stringByReplacingOccurrencesOfString:@"'" withString:@"\\'"]; 
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"List.name == '%@'", listName]; 

Il ne retourne rien, même si j'essaie ceci:

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"List.name == '%@'", @"kristof\\'s list"]; 

Il reste vide. Des idées?

Répondre

2

Le comportement de [NSString stringWithFormat] et [NSPredicate predicateWithFormat] sont différents. NSString effectue la substitution à la création, alors que NSPredicate l'évalue. Vos guillemets simples empêchent la substitution.

Pour en savoir plus, consultez le CocoaDev Forums.

Questions connexes