NSDictionary. Как создать объект NSDictionary - PullRequest
0 голосов
/ 01 августа 2011

У меня есть этот метод.

[self postRequestWithURL: (NSString *) postArgs:(NSDictionary *) headerArgs: (NSDictionary *) ];

Как правильно назвать этот метод?

URL-адрес: http://www.google.com/reader/api/0/edit-tag?

Аргументы сообщения: "a=user/-/state/com.google/read&ac=edit-tags&s=feed/%@&i=%@&T=%@", entry.link, entry.identifier, tokenString

и заголовок:

NSString *authHeader = [NSString stringWithFormat:@"GoogleLogin %@", authString];
[thttpReq addValue:authHeader forHTTPHeaderField:@"Authorization"];

[thttpReq addValue:@"Content-Type" forHTTPHeaderField:@"application/x-www-form-urlencoded"];

Может ли sompne помочь мне вставить postArgs и HeaderArgs в NSDictionary? Спасибо Paolo

Ответы [ 2 ]

5 голосов
/ 01 августа 2011

Попробуйте что-то вроде этого:

NSDictionary *postArgs = [NSDictionary dictionaryWithObjectsAndKeys: 
                            @"user/-/state/com.google/read", @"a",
                            @"edit-tags", @"ac",
                            [NSString stringWithFormat: @"feed/%@", entry.link], @"s",
                            [NSString stringWithFormat: @"%@", entry.identifier], @"i",
                            [NSString stringWithFormat: @"%@", tokenString], @"T",
                            nil];

NSDictionary *headerArgs = [NSDictionary dictionaryWithObjectsAndKeys: 
                             [NSString stringWithFormat: @"GoogleLogin %@", authString], @"Authorization",
                             @"application/x-www-form-urlencoded", @"Content-Type"
                             nil];

[self postRequestWithURL: @"http://www.google.com/reader/api/0/edit-tag"
                postArgs: postArgs
              headerArgs: headerArgs];

Обратите внимание, что список после dictionaryWithObjectsAndKeys: содержит чередования объектов и ключей, разделенных запятыми, за которыми следует окончательный nil, как в примере выше.

FWIW, словари здесь автоматически выпущены, поэтому вам не нужно их явно освобождать.

2 голосов
/ 01 августа 2011

Вы можете начать с чтения NSDictionary или NSMutableDictionary документации. Вот как вы это сделаете:

NSString * feed = [NSString stringWithFormat: @"feed/%@&i=%@&T=%@", entry.link, entry.identifier, tokenString];
NSDictionary * parameters = [[NSDictionary alloc] initWithObjectsAndKeys: @"a", @"user/-/state/com.google/read", @"ac", @"edit-tags", @"s", feed, nil];
...