对变量名或枚举用例使用unicode箭头字符

时间:2015-09-08 12:46:24

标签: ios swift unicode enums

我想利用swift支持变量名称中的unicode字符,但我无法使其工作。我有一个UIView子类,我在某个方向绘制。我的计划是要有这样的枚举:

enum ShapeDirection {
    case ←
    case →
    case ↑
    case ↓
    case ↖
    case ↗
    case ↘
    case ↙
}

我认为这是有效的,但我一直收到这个错误:

  

一元操作数不能与其操作数

分开

我尝试向ShapeDirection提供一个类型(String)并为每个案例分配值,但问题仍然相同。我还尝试使用其中一个箭头作为名称初始化一个独立变量,但我得到了同样的错误。这是否意味着编译器不支持这一特定的unicode字符集?是否有相当完整的所有方向箭头组?

修改

对于那些想知道清洁代码是什么,可读性和故事结局的人 - 我选择了简单的案例,包括北,南,东,西等,箭头为String格式的原始值

1 个答案:

答案 0 :(得分:4)

更新:运营商允许使用它们,但explicitly not in identifiers (the names of things)

  

identifier-head→U + 2070-U + 20CF,U + 2100-U + 218F,[U + 2190且前向丢失] U + 2460-U + 24FF,或U + 2776-U + 2793

所以这可以按预期工作,或者至少按照设计工作。

这听起来像个错误。 All of these characters可用inside the following range of the Swift grammar

  

operator-head→U + 2190-U + 23FF

...所以听起来像是你遇到了一个错误,或者没有将文件保存在例如UTF-8。