gpt4 book ai didi

ios - 充满 NSString 的 NSSet。当我将集合打印到控制台时,结果出乎意料

转载 作者:行者123 更新时间:2023-11-29 12:44:21 29 4
gpt4 key购买 nike

这是发生了什么:

内部数据库内容:一个类有一个字符串属性,用于存储电话号码。这个数字是使用代码设置的

CFBridgingRelease(ABMultiValueCopyValueAtIndex(ABRecordCopyValue(record, kABPersonPhoneProperty), 0));

我的功能: 查找该类型的所有对象,并将每个对象的电话号码存储在 NSMutableSet 中。

调试:我将集合的描述打印到控制台。

结果:

  • 该集合的一些对象看起来符合预期(实际上是大多数):“+64 27 0124 975”
  • 有些缺少引号:027 7824 565
  • 有些有奇怪的 unicode 符号:“021\U00a0026\U00a017788”

我的问题:

为什么不同 - 这意味着什么,我需要解决什么问题吗?

最佳答案

NSLog with %@——我假设你正在使用——在它调用描述方法时如何呈现 NSStrings 方面有一些智能。如果字符串包含字母数字以外的任何内容,例如上面的“+”或“\”,它将使用引号。具有 unicode 字符的字符串只是将其字符编码为如图所示,并且它们会自动转换为这种无损格式。如果你真的需要这样的东西,你应该能够将它转换成更适合控制台的东西:

NSLog(@"%@", [NSString stringWithCString:[myString.description cStringUsingEncoding:NSASCIIStringEncoding] encoding:NSNonLossyASCIIStringEncoding]);

关于ios - 充满 NSString 的 NSSet。当我将集合打印到控制台时,结果出乎意料,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24015371/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com