2014-04-18 53 views
0

我有一個NSMutableArray,它是根據用戶的選擇設置的。我不是試圖將其傳遞給設置爲我的parameterNSDictionary以發送到我的服務器。我想要抓住parameters內的那些值。將NSMutableArray設置爲NSDictionary - 目標C

我在做什麼的繼承人:

NSMutableArray:被設置在以下幾點:[_selectedCells addObject:label.text];

NSDictionary *dictionary = @{ @"title": _titlefor.text, 
@"description": _description.text, 
@"time_limit": _timeLimit.date, @"toWho": @""}; 

toWho在這裏我想給用戶選擇的值。

我試過類似的東西,[dictionary setValue:self.viewControllers.selectedCells forKey:@"toWho"];但是這不能正常工作。

我想我將不得不使用NSMutableDictionary,但是我可以將此發送給parameters以發送到我的服務器嗎?

繼承人如何我加入parameters

NSMutableURLRequest *request = [httpClient multipartFormRequestWithMethod:@"POST" path:@"downloadFileChallange.php" parameters:dictionary constructingBodyWithBlock:^(id <AFMultipartFormData>formData) 
{ 
    [formData appendPartWithFileData:webData name:@"file" fileName:newUsername mimeType:@"video/quicktime" ]; 
}]; 

建議,想法?

+0

如果您打算在其中設置值或爲其添加值,那麼您肯定需要使用可變字典。但是,我不明白問題的第二部分,所以我對此沒有答案。 – user1118321

+0

@ user1118321你不瞭解它嗎? –

+0

我之前沒有使用過'NSMutableURLRequest',所以我不知道如果只是設置'參數'參數到字典將工作。抱歉! – user1118321

回答

1

是的,您可以使用字典作爲HTTP請求的參數。

但我不會給它一個可變字典。製作它的一個副本代替,因此將該行更改爲:

... parameters:dictionary.copy ... 

有一個快速瀏覽一下documentation for copy,你會發現製作一個可變對象的「複製」總是返回對象的不變版本。所以它將是NSDictionary,這是NSMutableURLRequest預計會收到。

如果考慮「不可變與可變」適用於接收對象,返回的副本是不可變的;否則該副本的確切性質由該課程確定。

相關問題