编辑: 找到了一种通过大量转换来转换它的方法,但看起来很草率:
let myStr = "1f601"
let str = String(Character(UnicodeScalar(Int(myStr, radix: 16)!)!))
我正在尝试执行以下操作:
for _ in 1...2 {
let emojiButton = UIButton()
emojiButton.backgroundColor = UIColor.green
emojiButton.heightAnchor.constraint(equalToConstant: 20.0).isActive = true
emojiButton.titleLabel!.font = UIFont(name: "AppleColorEmoji", size: CGFloat(16.0))
emojiButton.setTitle(str, for: .normal)
stackView.addArrangedSubview(emojiButton)
}
由于某种原因,这给出了两个不同的符号而不是预期的表情符号,结果如下:
所以现在我很困惑为什么%C格式没有显示unicode,以及为什么它显示两个不同的字符。
答案 0 :(得分:1)
let myStr = "\u{1f601}"
可能是在Swift中指定Unicode点的最简单方法。