我想利用swift支持变量名称中的unicode字符,但我无法使其工作。我有一个UIView
子类,我在某个方向绘制。我的计划是要有这样的枚举:
enum ShapeDirection {
case ←
case →
case ↑
case ↓
case ↖
case ↗
case ↘
case ↙
}
我认为这是有效的,但我一直收到这个错误:
一元操作数不能与其操作数
分开
我尝试向ShapeDirection
提供一个类型(String
)并为每个案例分配值,但问题仍然相同。我还尝试使用其中一个箭头作为名称初始化一个独立变量,但我得到了同样的错误。这是否意味着编译器不支持这一特定的unicode字符集?是否有相当完整的所有方向箭头组?
修改
对于那些想知道清洁代码是什么,可读性和故事结局的人 - 我选择了简单的案例,包括北,南,东,西等,箭头为String
格式的原始值
答案 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。