Xcode - 源文件中的字符无效(将""替换为"")

God*_*ike 17 xcode if-statement ios swift

我有一个关于Xcode(Swift)的问题.有时我写一个if语句.像这样的东西:

if(a == 2){
//do Sth
} else {
//do Sth
}
Run Code Online (Sandbox Code Playgroud)

Xcode抛出一个错误:"源文件中的字符无效"我知道这没什么大不了的,通过点击"修复它"修复但我想知道是什么问题.这对我来说没有意义......

错误

我的Xcode在7.2上,而我正在使用Swift - 我不知道这是否只是一个Swift问题.

smi*_*Bot 10

我遇到了这个问题.我解决它的方法是1)将您拥有的任何内容复制到Sublime Text或其他代码编辑器中并查看(您可能需要启用查看隐藏字符).我的DC2中有一个代码,它是某种ASCII控制字符.对我来说,这是因为我已经将操场放入手动执行并绑定了一个键盘快捷键,每次我使用快捷方式执行它时,它似乎都会进入该控制字符.我只是更改了快捷方式并删除了ASCII字符,因为我能够在Sublime Text中看到它们.(关于从左到右模式的OP评论中的链接没有任何意义,对我来说没有用.)


Str*_*der 6

对我来说,这是ESC键-完全可复制!如果我去搜索并在搜索窗口中按ESC,我还会找到标记为-的事件,并且可以将它们替换为空。但是即使显示“显示不可见”也不会显示!

最终解决方案:将ESC键绑定绑定到“取消”。就这么简单。


小智 5

我在 iMac 上使用非 Apple 键盘时遇到了这个问题。可能你的情况也是如此。他们添加了不必要的控制字符!在 Xcode 中修复它的一种方法是从菜单 Editor>Show Invisibles 中选择,看看是否有任何不需要的字符抛出错误并删除它们。


hoh*_*hmm 5

我有同样的问题。经过大量测试,我找到了解决方案。希望它可以帮助其他人节省大量时间来研究这种糟糕的 Xcode 体验。

问题是我有一个 FILCO Minila 键盘,它的“App”键位于“左箭头”旁边。当我打字速度非常快时,我会不小心点击“App”,它会输入“DEL”(数据链接转义,Unicode 0010)不可见字符。只有复制粘贴到 Sublime 才能看到。它甚至在 Xcode 自己的“Editor -> Show Invisibles”下都不可见(谈论良好的用户体验......)

神奇的是,这种情况不会发生在 Sublime 或 VSCode 上,只会发生在 Xcode 上。那么我想 Xcode 就没有借口了吗?

解决方法是下载 Karabiner(一种适用于 macOS 的高级键盘映射器),并使“App”键无效或将其映射到其他键。Karabiner 还会使系统默认键盘配置中的键盘映射无效。因此,如果您自定义了“cmd”、“alt”等内容,则必须重新映射它们。如果是这样,请务必在 Karabiner 中映射左右修改键,因为根据 Karabiner 的按键事件查看器,系统默认键映射会将 left_alt 和 left_cmd 映射到 right_cmd 和 right_alt...真是烦人...

我花了 2 个月才意识到这个问题,并花了 2 个小时才真正找出罪魁祸首是“app”键并修复它。