【问题标题】:Automatic slashes自动斜线
【发布时间】:2012-08-31 17:25:19
【问题描述】:

所以我有一个用键和值填充的​​字典,唯一的问题是,当您尝试输入具有此一般大纲“blah\stuff”的字符串并尝试记录它时,那么该值的值键显示“blah\\stuff”。我希望它像用户输入它一样是“blah\stuff”。有谁知道如何解决这个问题?

   SMTPPort = "";
"Use SSL" = false;
"User Name_in" = "tia\\voizapp";
"User Name_out" = tia;
isOn = no;

【问题讨论】:

  • 您到底想完成什么?在objective-c 中,字符串文字由@"string literal" 定义,NSDictionary 可以这样定义。 NSDictionary *dict = @{ @"name" : NSUserName(), @"date" : [NSDate date], @"processInfo" : [NSProcessInfo processInfo] };您可以在Objective-C Literals下找到更多信息
  • 嗯,很明显,假设我的字典是正确的并且我知道如何输入字符串。当我的字符串有反斜杠时,它会自动生成双反斜杠
  • "User Name_in" 是我字典中的键,"tia\\voizapp" 是我的字符串,但该字符串应该是 "tia\voizapp"
  • 只要你使用@"" 语法,双斜杠就会被删除。如果你使用 "" 语法字符串,应该像 + (id)stringWithUTF8String:(const char *)bytes 这样创建。
  • 我明白了,那么我的问题很奇怪。字符串来自文本字段

标签: objective-c nsdictionary stripslashes


【解决方案1】:

似乎是一个逃避问题。如果你想在 NSString 中加入一个反斜杠,你可以使用双反斜杠:

NSString* someString = @"blah\\stuff";

您的代码是否有可能在幕后保留双反斜杠?

【讨论】:

  • hmm 好的,如果用户输入字符串,他们不会知道使用双反斜杠
  • 他们不需要。参见 Bernd Rabe 的评论。我想知道您的代码是否添加了双反斜杠,稍后打算将字符串加载到 NSString 等中。如果您将 @ 与字符串文字一起使用,则两个双反斜杠与一个反斜杠相关。在这种情况下没有问题。如果没有,你可能会得到两个双反斜杠。
  • 这很有意义,很可能是这样做的,谢谢!很抱歉没有发布代码,它很大,而且字典在很多方法中都添加了值
猜你喜欢
  • 1970-01-01
  • 2013-05-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多