从服务器Swift解析Unicode字符

时间:2019-10-25 17:22:45

标签: ios swift unicode glyphicons

我使用this website中的一组付费线性图标。

太好了!尤其是在iOS中,我将B文件放在我的项目包中,加载字体并在标签和按钮中使用它。我什至写了article about how I do this

当我想基于某个服务器值动态更改标签时,就会出现我的问题。我的本能是将unicode值作为文本保存在服务器上。我只需保存诸如.ttf之类的值,然后将其下拉到我的App中,就可以将其添加到这样的标签中。

ed02

问题是该行:

let label = UILabel(frame: CGRect(x: 0, y: 0, width: 100, height: 20))
label.font = IconUltimate().icoUltimateFont(18)
let valueFromServer = "ed02"
label.text = "\u{\(valueFromServer)}"

无效。我究竟做错了什么?有没有办法将服务器的unicode值注入到我的UI中?现在我的解决方案是使用如下switch语句从服务器映射unicode值:

label.text = "\u{\(valueFromServer)}"

并这样称呼它:

    public func unicodeMapper(rawUnicode: String) -> String {
        switch rawUnicode {
        case "ecf5":
            let thumbs_up = "\u{ecf5}"
            return thumbs_up
        default:
            return ""
        }
    }

任何人都有任何建议,因此我不必使用switch语句,而只需从服务器注入值即可。

谢谢

1 个答案:

答案 0 :(得分:1)

赞:

let code = "ecf5" // or whatever you got from the server
let codeint = UInt32(code, radix: 16)!
let c = UnicodeScalar(codeint)!
label.text = String(c)