【问题标题】:Append unichar to NSMutableString in Swift在 Swift 中将 unichar 附加到 NSMutableString
【发布时间】:2015-07-12 04:46:20
【问题描述】:

我想将unichar 附加到NSMutableString。我有

var outputString: NSMutableString = "Some string" 
let letterA: unichar = 0x1820

我看到了Appending unichar to NSMutableString的问题。 accepted answer(在 Objective C 中)说:

[s appendFormat:@"%C", c];

但我不知道 Swift 语法。 documentation 也没有多大帮助。

我什至尝试过

outputString += letterA

但这也没用。

注意:我不是要append a Swift Stringappend a Swift Character

【问题讨论】:

    标签: ios swift nsmutablestring unichar


    【解决方案1】:

    像这样在swift中使用相同的方法appendFormat

    重写代码以进行详细说明

        var outputString: NSMutableString = "Some string"
        let letterA: unichar = 0x1820
        outputString.appendFormat("%C", letterA)
    

    【讨论】:

    • 为什么我想不通?谢谢!两个答案(this 和@rikkigibson)都是正确的,并且几乎是同时添加的。我会将此标记为已接受,因为代码更易于阅读和测试。对两者都 +1
    【解决方案2】:

    outputString.appendFormat("%C", letterA) 在 Xcode 6.4 中运行的 Swift 1.2 中附加字符。它似乎与您在 Objective-C 示例中引用的方法相同。

    【讨论】:

      【解决方案3】:

      NSMutableString

      NSMutableString 引用确实不需要必须是var

      let outputString:NSMutableString = "Some string"
      outputString.appendFormat("%C", 0x0041) // Letter A
      

      原生 Swift 字符串

      跳过NSFoundationunichar 类的解决方案:

      var outputString = "Some string"
      outputString += "\u{41}" // Letter A is actually 0x0041
      

      【讨论】:

      • 所有这些都是 Swift 问题和答案。你的答案是大多数人在 Swift 中的做法,但我特别需要使用 NSMutableString,而不是 String,因为 String 处理字符的方式。见我的previous question
      • 正确。然后使用NSMutableString 的解决方案应为let
      • 有趣的是 NSMutableString 不需要成为 var。你的报价来自哪里?我试图搜索它,但找不到它。
      猜你喜欢
      • 2015-06-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-06
      相关资源
      最近更新 更多