2009-11-19 11 views
0

Cela fait quelques jours que je travaille sans succès ... J'essaie d'analyser une collection de paires clé/valeur d'un NSDicitonary, mais il semble être très sensible à un trait d'union dans la nom de clé. Voici un exemple des données .. Si je tente d'accéder à l'un des champs avec un trait d'union à l'aide du code ci-dessous je reçois l'erreur suivante:trait d'union dans la clé NSDictionary

unrecognized selector sent to instance

Toutes les suggestions?

NSString *param = [[NSString alloc] initWithFormat:@" url-name like %@",url ]; 
NSPredicate *predicate = [NSPredicate predicateWithFormat:param]; 
NSArray *results = [aCompanies filteredArrayUsingPredicate:predicate]; 

<company> 
    <address-one></address-one> 
    <address-two></address-two> 
    <city></city> 
    <country></country> 
    <id type="integer">11899</id> 
    <name>Aceara</name> 
    <phone-number-fax></phone-number-fax> 
    <phone-number-office></phone-number-office> 
    <state></state> 
    <time-zone-id>Central Time (US &amp; Canada)</time-zone-id> 
    <url-name>ACEARA</url-name> 
    <uuid>7cc52da5-6783-4c59-9c60-b8fe96f2110c</uuid> 
    <web-address>WWW.ACEARA.COM</web-address> 
    <zip></zip>  
    <can-see-private type="boolean">false</can-see-private> 
</company> 
+0

Il n'y a pas besoin d'allouer une chaîne et puis attribuez-lui comme le format du prédicat. Créez simplement le prédicat directement: 'Prédicat NSPredicate * = [NSPredicate predicateWithFormat: @" 'url-name' comme '% @' ", url];' –

Répondre

3

cordes Surround avec des guillemets pour éviter des problèmes, par exemple .:

initWithFormat:@"'url-name' like '%@'" 
Questions connexes