swift 字符串中为啥'\n'不换行

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了swift 字符串中为啥'\n'不换行相关的知识,希望对你有一定的参考价值。

debugPrint("\(file).\(funcName)-(\(line))--\n--------------------\(String(reflecting: items.first!))")打印出来的字符串 不会换行 只是吧\n打出来了? 怎么才能使字符串折行?

参考技术A 使用 print()追问

这两个一样的吧 , 一个是不同打印 ,一个是debug状态下打印 。

追答

不一样,
print() - 将给定项的文本表示写入标准输出。
debugPrint() - 将最适合调试的给定项的文本表示写入标准输出。
基本上,debugPrint 添加了对调试类型信息等有用的附加信息。
跟你说的什么 debug 状态没有关系。

为啥 SwiftyJSON 无法在 swift 3 中解析数组字符串

【中文标题】为啥 SwiftyJSON 无法在 swift 3 中解析数组字符串【英文标题】:Why SwiftyJSON cannot parse Array String in swift 3为什么 SwiftyJSON 无法在 swift 3 中解析数组字符串 【发布时间】:2017-07-26 02:24:29 【问题描述】:

    "item": [
        
            "pid": 89334,
            "productsname": "Long Way",
            "address": "B-4/7, Malikha Housing, Yadanar St., Bawa Myint Ward,",
            "telephone": "[\"01570269\",\"01572271\"]"
        ,
        
            "pid": 2,
            "productsname": "Myanmar Reliance Energy Co., Ltd. (MRE)",
            "address": "Bldg, 2, Rm# 5, 1st Flr., Hninsi St., ",
            "telephone": "[\"202916\",\"09-73153580\"]"
        
    ],
    "success": true

我无法使用以下代码从上面的 JSON 对象解析 telephone 值。

for item in swiftyJsonVar["item"].array! 
    if let jsonDict = item.dictionary 
        let pid = jsonDict["pid"]!.stringValue
        let productsname = jsonDict["productsname"]!.stringValue

        var telephones = [String]()
        for telephone in (jsonDict["telephone"]?.array)! 
            telephones.append(telephone.stringValue)
        
    

我想获取并一一显示上述 JSON 的电话号码。我不确定为什么上面的代码不起作用。请帮我解决一下,谢谢。

【问题讨论】:

【参考方案1】:

因为telephone 是一个看起来像数组的字符串,而不是数组本身。服务器对这个数组进行了可怕的编码。您需要再次对其进行 JSON 化以遍历电话号码列表:

for item in swiftyJsonVar["item"].array! 
    if let jsonDict = item.dictionary 
        let pid = jsonDict["pid"]!.stringValue
        let productsname = jsonDict["productsname"]!.stringValue

        var telephones = [String]()
        let telephoneData = jsonDict["telephone"]!.stringValue.data(using: .utf8)!
        let telephoneJSON = JSON(data: telephoneData)

        for telephone in telephoneJSON.arrayValue 
            telephones.append(telephone.stringValue)
        
    

【讨论】:

以上是关于swift 字符串中为啥'\n'不换行的主要内容,如果未能解决你的问题,请参考以下文章

c语言将字符输入至数组为啥不执行呢

for(i=0;num[i]!='\n';i++) scanf("%c",&num[i]); 为啥无法结束输入?? num是浮点型的

Java中,char+c=‘\\‘,c输出啥,为啥?

对于统计输入字符个数时用while( ( ch=getchar() ) != '\n'

请问 href=\; title=\ 为啥要有个反斜杠。

为啥这个代码运行时会使系统运行的很慢