OGeek|极客世界-中国程序员成长平台

标题: ios - 为什么 NSDictionary 在使用 dictionaryWithObjectsAndKeys 时有时会删除引号? [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 07:42
标题: ios - 为什么 NSDictionary 在使用 dictionaryWithObjectsAndKeys 时有时会删除引号?

我有下面这行代码...

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 没有。

如果我称它为 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;
}

什么给了?我需要围绕这个键的引号,我该如何实现?



Best Answer-推荐答案


在您发布的第一行代码中,实际上没有一个值包含任何引号。

当您记录 NSDictionary 时,如果键/值包含空格、下划线或其他特殊标点符号,则值只会出现在引号中。

在您发布的第二行代码中,您的“日期”键实际上在键值中有引号。

当您记录该字典时,这些引号与反斜杠一起显示(尽管反斜杠实际上不在字符串中),并且由于该值具有一些特殊字符,因此它显示在引号中。

为了澄清,NSDictionary 从不删除任何东西。

关于ios - 为什么 NSDictionary 在使用 dictionaryWithObjectsAndKeys 时有时会删除引号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23482868/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://sqlite.in/) Powered by Discuz! X3.4