2010-06-28 3 views
1

J'ai créé mon propre UITabBarController.Extrait la sous-chaîne de modèle de NSString

En outre, j'ai écrit quelques lignes de code pour déterminer l'utilisateur actuel.

E.g. si je suis l'utilisateur actuel faire/afficher ceci, sinon faire/afficher ceci etc ...

Le modèle de format est (prénom nom).

Le nom complet de l'utilisateur actuel est "displayName".

Voici comment je règle le titre de l'onglet selon que je regarde les onglets «mes» ou les onglets de quelqu'un d'autre.

[activités setTitle: [viewingUser objectForKey: @ "displayName"]];

Je veux maintenant extraire uniquement le prenom et l'afficher comme ceci:

« prenom de ».

Je connais les propriétés substringToIndex et substringWithRange, mais je n'arrive pas à me débrouiller tout seul. Je pense que j'ai juste besoin de trouver le premier et d'en extraire la partie avec ce [s]. Quelqu'un peut-il me diriger dans la bonne direction?

Vive

Répondre

0

Si le prénom et le nom sont séparés par un espace, exécutez simplement l'instruction suivante qui renvoie un NSArray qui contient le prénom et le nom.

[displayName componentsSeparatedByString:@" "] 
+0

Oui, merci pour cela. Je l'ai fait fonctionner comme suit: [code] NSCharacterSet * delimiter = [NSCharacterSet characterSetWithCharactersInString: @ ""]; NSArray * splitString = [[voirUtilisateur objectForKey: @ "displayName"] componentsSeparatedByCharactersInSet: délimiteurs]; NSString * xString = [chaîneChaîne objectAtIndex: 0]; // Ceci contient le prénom \t // NSString * yString = [chaîneChaîne objectAtIndex: 1]; // Il contient le nom [/ code] peut être appelé comme ceci: [ activités setTitle: [NSString stringWithFormat: @ "% @% @", xstring, @ "de" View"]]; – user367874

0

Jetez un oeil à la documentation NSScanner et des exemples de code associé. Il y a des façons plus simples de le faire si c'est votre seul jeu de données; cependant, dès que vous commencez à vous lancer dans des séquences semi-complexes, vous aurez besoin d'autres solutions plus puissantes. C'est pourquoi je recommande NSScanner du haut.