在Xcode中禁用#imageLiteral(resourceName:<..>)预览?

Kry*_*ypt 6 xcode image-literals

我发现图像文字相当分散注意力而不是有用.
有没有办法禁用这个Xcode功能?

Tam*_*gel 6

一个好的方法是#imageLiteralUIImage(imageLiteralResourceName:)初始化器替换所有出现的(感谢建议,@ D6mi!).以下是您可以自动执行的操作:

  1. 导航到查找/查找和替换...(或按⌥⌘F).

  2. 打开右侧的下拉列表,然后选择正则表达式.

  3. 对于搜索词,请输入以下正则表达式:

    #imageLiteral\(resourceName: (.*)\)
    
    Run Code Online (Sandbox Code Playgroud)

    如需更换,请输入:

    UIImage(imageLiteralResourceName: $1)
    
    Run Code Online (Sandbox Code Playgroud)

    此正则表达式捕获资源名称的值,(.*)然后再次插入$1.反斜杠用于转义括号,因为它们被视为特殊字符.

请注意,在这种情况下你不必使用正则表达式(正如LinusGeffarth指出的那样),但它在比这更复杂的情况下更有用.

  • 多么酷,我打算建议这个,但不知道我们可以保留在正则表达式中找到的图像名称.但从技术上讲,我们甚至不需要使用正则表达式,因为我们可以替换`#imageLiteral(resourceName:`with`UIImage(named:`会导致相同的...) (3认同)
  • 不知道你能做到这一点,谢谢 Tamàs!我建议使用`UIImage` 初始化器-`init(imageLiteralResourceName:)`,因为生成的`UIImage` 不是一个可选的,而`named` 初始化器是`optional`。 (2认同)