NSString stringWithFormat 无法添加反斜杠
Posted
技术标签:
【中文标题】NSString stringWithFormat 无法添加反斜杠【英文标题】:NSString stringWithFormat can't add backslash 【发布时间】:2016-04-06 06:57:02 【问题描述】:我正在使用 AFNetWorking 调用 webService,并希望传递此形状的参数,
112212234234324@abcdefghi_def.ab\/AB
为了实现这一点,我正在使用以下代码,
@@"someKey":[NSString stringWithFormat:@"%@@%@\/AB", someTextField.text, [aDictionary objectForKey:@"someOtherKey"]];
但是 stringWithFormat 忽略了反斜杠,而 someKey 的值是,
112212234234324@abcdefghi_def.ab/AB
我也试过这个,
@@"someKey":[NSString stringWithFormat:@"%@@%@\\/AB", someTextField.text, [aDictionary objectForKey:@"someOtherKey"]];
但它不会将双斜杠视为单斜杠,而 someKey 值是,
112212234234324@abcdefghi_def.ab\\/AB
NSLog 转换正常。
NSLog(@"\\");
给\
NSLog(@"\\\\");
给出 \\
NSLog(@"\\/");
给了\/
请帮忙。
【问题讨论】:
深入兔子洞,看看图书馆是如何处理的。 您是否通过 NSLog 记录了值,您在使用 @"\\/" 时确实记录了值,但在 NSLog 中它会显示错误的值。尝试打印字典[@"someKey"]的值,以及这个字符串长度来调试字典中的值 【参考方案1】:试试这个:
@@"someKey":[NSString stringWithFormat:@"%@@%@%@/AB", someTextField.text, [aDictionary objectForKey:@"someOtherKey"],@"\\"];
【讨论】:
我看不到\。你能解释一下吗?【参考方案2】:跳过\
解决了这个问题。在与后端团队讨论后,我知道反斜杠无论如何都会被解析器忽略,所以不需要它。
更新后的代码看起来像,
@@"someKey":[NSString stringWithFormat:@"%@@%@/AB", someTextField.text, [aDictionary objectForKey:@"someOtherKey"]];
【讨论】:
所以一般来说这是一个任何人都无法回答的问题,对其他人来说毫无价值。以上是关于NSString stringWithFormat 无法添加反斜杠的主要内容,如果未能解决你的问题,请参考以下文章
NSString stringWithFormat 添加了“ffffff”
NSString stringWithFormat 无法添加反斜杠
Xamarin.iOS 中 NSString stringWithFormat 的等价物是啥
“NSString stringWithFormat:”在 32 位设备中具有“%zd”奇怪行为