3

Actuellement, j'ai configuré mon application pour profiter de l'implémentation XAuth des services Twitter via ShareKit. Ceux qui sont conscients de ShareKit et l'ont implémenté dans votre propre application soit à des fins de test ou pour ajouter l'énorme gamme de services qu'il implémente à votre application, vous seriez bien, nous avons un SHKTwitter.h et un .m et un SHKTwitterForm.h et .m qui peuvent être trouvés dans le dossier Sharers dans le code source.ShareKit - Comment accéder au nom d'utilisateur Twitter

C'est ici que j'ai commencé à implémenter mon propre support TwitLonger pour ShareKit. Cependant, j'ai rencontré quelques problèmes. Pour ceux qui n'ont pas utilisé l'API TwitLonger, ils n'ont besoin que du nom d'utilisateur Twitter pour envoyer le Tweet. Cependant, je me bats pour tirer le nom d'utilisateur Twitter entré de la SHKTwitterForm.

Actuellement, après avoir parlé à Nate (le développeur de ShareKit), j'ai rassemblé ceci pour extraire la clé de nom d'utilisateur du NSMutableDictionary, l'enregistrer dans un NSString et l'enregistrer ensuite dans un objet NSUserDefault. Ceci est ensuite appelé lorsque mon implémentation de l'API TwitLonger entre en jeu en créant un nouveau NSString construit à partir de l'objet NSUserDefault.

Dans mon SHKTwitter.m j'ai créé une sous-classe de - (void) authorizationFormSave: (SHKFormController *) forme comme indiqué par Nate. Comme vous pouvez le voir ci-dessous, c'est ce que j'ai.

- (void)authorizationFormSave:(SHKFormController *)form 
{ 

NSMutableDictionary *dict = [form formValues]; 

NSArray *keys = [dict allKeys]; 
NSString *usernameString = [[keys valueForKey:@"username"] componentsJoinedByString:@""]; 


[[NSUserDefaults standardUserDefaults] setObject:usernameString forKey:@"twitter_name_preference"]; 
[[NSUserDefaults standardUserDefaults] synchronize]; 
} 

Cependant, chaque fois que j'appelle cela NSUserDefault objet dans une nouvelle NSString dans mon SHKTwitterForm.m, il retourne nul.

Quelqu'un at-il une idée de la façon dont je pourrais y parvenir encore plus simplement ou est-ce que je le fais correctement? Je me sens comme si la façon dont je suis saisissant l'objet dans le NSMutableDictionary faux. Toute aide serait appréciée!

+0

Dans votre exemple ci-dessus, vous demandez à votre tableau de clés pour une valeur. NSArray ne répond pas à valueForKey. –

Répondre

1

Vous devez demander l'objet dictionnaire pour valueForKey.

Par exemple:

NSString *usernameString = [dict valueForKey:@"username"];