3

現在、ShareKit を介して Twitter サービスの XAuth 実装を利用するようにアプリケーションをセットアップしています。ShareKit を認識しており、テストの目的で、またはそれが実装する膨大な数のサービスをアプリケーションに追加するために、ShareKit を独自のアプリケーションに実装している場合は、SHKTwitter.h と .m とソース コードの Sharers フォルダーにある SHKTwitterForm.h および .m。

ここで、ShareKit 用の独自の TwitLonger サポートの実装を開始しました。しかし、私はいくつかの問題に遭遇しました。TwitLonger API を使用していない場合は、実際にツイートを送信するために必要なのは Twitter ユーザーのユーザー名だけです。ただし、入力した Twitter ユーザー名を SHKTwitterForm から取得するのに苦労しています。

現在、Nate (ShareKit の開発者) と話した後、これをまとめて、NSMutableDictionary からユーザー名キーを取得し、NSString に保存してから、それを NSUserDefault オブジェクトに保存します。これは、NSUserDefault オブジェクトから構築された新しい NSString を作成することによって、私の TwitLonger API 実装が開始されたときに呼び出されます。

私の SHKTwitter.m では、Nate の指示に従って -(void)authorizationFormSave:(SHKFormController *)form のサブクラスを作成しました。以下に示すように、これは私が持っているものです。

- (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 オブジェクトを SHKTwitterForm.m の新しい NSString に呼び出すたびに、nil が返されます。

どうすればこれをさらに簡単に達成できるのか、それとも正しくやっているのか、誰にも分かりますか? NSMutableDictionary でオブジェクトを取得する方法が間違っているように感じます。どんな助けでも大歓迎です!

4

1 に答える 1

1

ディクショナリ オブジェクトに valueForKey を要求する必要があります。

例えば:

NSString *usernameString = [dict valueForKey:@"username"];
于 2011-02-21T05:18:58.593 に答える