2014-05-05 65 views
2

我有下面的代碼行...爲什麼在使用dictionaryWithObjectsAndKeys時NSDictionary有時會刪除引號?

NSDictionary *visitDict = [NSDictionary dictionaryWithObjectsAndKeys:self.room.roomId, @"room_id", self.datePicker.date, @"date", nil]; 

它輸出這樣的結果......

Dict: { 
    date = "2014-05-05 22:15:02 +0000"; 
    "room_id" = 12; 
} 

ROOM_ID周圍有引號,但迄今爲止沒有。

如果我把它叫做date_a,它會引用它。但是約會沒有。我無法逃避的第一行代碼是

NSDictionary *visitDict = [NSDictionary dictionaryWithObjectsAndKeys:self.room.roomId, @"room_id", self.datePicker.date, @"\"date\"", nil];  

要麼是因爲那時我剛剛結束了與此有關。

Dict: { 
    "\"date\"" = "2014-05-05 22:18:33 +0000"; 
    "room_id" = 6; 
} 

什麼給?我需要引用這個鍵,我該如何實現這一點?

回答

4

在您發佈的第一行代碼中,沒有任何值實際上包含任何引號。

當您登錄NSDictionary時,如果鍵/值包含空格,下劃線或其他特殊標點符號,則值僅在引號中顯示。

在您發佈的第二行代碼中,您的「日期」鍵實際上具有鍵值中的引號。

當您記錄該字典時,會將這些引號與反斜槓一起顯示(儘管反斜槓實際上不在字符串中),並且由於該值具有一些特殊字符,因此將顯示爲引號。

要澄清,NSDictionary永遠不會刪除任何東西。

+1

好的,所以如果我發佈這條評論到期待引用的後端,那麼這些都將被照顧? –

+0

什麼評論?現在,您正在問一個完全獨立的問題,與您的原始問題無關。 – rmaddy

+0

即使我遇到同樣的問題,我還需要帶引號的參數才能從服務器獲得正確的響應。任何想法 – SMS

相關問題