В настоящее время я настроил свое приложение, чтобы воспользоваться реализацией XAuth услуг Twitter через ShareKit. Те, кто знает об ShareKit и реализовали его в своем собственном приложении либо в целях тестирования, либо для добавления огромного массива сервисов, которые он реализует в вашем приложении, вам будет хорошо, что у нас есть SHKTwitter.h и .m и SHKTwitterForm.h и .m, которые можно найти в папке Sharers в исходном коде.ShareKit - Как получить доступ к имени пользователя Twitter
Именно здесь я начал реализовывать свою собственную поддержку TwitLonger для ShareKit. Однако я столкнулся с несколькими проблемами. Для тех, кто не использовал API TwitLonger, им нужно только имя пользователя Twitter, чтобы на самом деле отправить Tweet. Тем не менее, я изо всех сил пытаюсь вытащить введенное имя пользователя Twitter из SHKTwitterForm.
В настоящее время, поговорив с Nate (разработчиком ShareKit), я собрал это, чтобы вытащить ключ имени пользователя из NSMutableDictionary, сохранить в NSString и затем сохранить его в объект NSUserDefault. Затем это вызывается, когда реализуется моя реализация TwitLonger API, создавая новую NSString, созданную из объекта NSUserDefault.
В моем SHKTwitter.m Я создал подкласс формы авторизации (void) authorFormSave: (SHKFormController *) по указанию Nate. Как вы можете видеть ниже, это то, что у меня есть.
- (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];
}
Однако всякий раз, когда я называю это NSUserDefault объект в новый NSString в моем SHKTwitterForm.m, он возвращает ноль.
У кого-нибудь есть идеи относительно того, как я мог бы достичь этого еще более просто или я делаю это правильно? Я чувствую себя так, как будто я неправильно захватил объект в NSMutableDictionary. Любая помощь будет оценена!
В вашем примере выше вы задаете ваши ключи массива для значения. NSArray не отвечает на valueForKey. –