2014-05-05 40 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

相关问题