【问题标题】:How to rename the class name in swift?如何在swift中重命名类名?
【发布时间】:2015-01-30 06:06:41
【问题描述】:

我正在尝试快速重命名类名,但它给了我错误Can't refector swift code。我想知道重命名将反映在整个项目中的文件的最佳方法

【问题讨论】:

标签: ios swift


【解决方案1】:

目前你不能在 Swift 中重构。但是,您可以在 Project 中执行查找菜单 > 查找和替换。 (仔细)

编辑: Xcode 9 允许您重构。

突出显示您的属性/功能并选择编辑器菜单 -> 重构 -> 重命名

等待一两秒,让 Xcode 9 扫描您的项目以查找所有出现的项目,然后输入新名称。

【讨论】:

  • 您也必须在 project.pbxproj 文件中重命名它,对吧?
  • @IvanLesko - 不,如果你在所有源代码中重命名它就足够了。
  • @Caroline wow,三年后仍然无法在 Swift 中重命名:/
  • @Caroline,很好!迟到总比没有好:) 感谢您的提醒
  • 就我而言,我还必须在 Finder 中重命名文件。否则找不到类文件。
【解决方案2】:

现在可以在 Xcode 9 中使用。

右键单击类名并选择重命名

【讨论】:

    【解决方案3】:

    在完成@Caroline 指出的操作后,您还应该更改.swift 文件的名称,因为使用Find > Find and replace... 不会更改它。为此,您可以单击 .swift 类的名称并根据需要重命名。

    我正在使用XCode 8,这是我能找到的在整个项目中更改班级名称的最佳选择。

    【讨论】:

      【解决方案4】:

      编辑,最新解决方案

      启动 Xcode 9,您现在可以轻松完成。这些是步骤:

      1. 突出显示要重命名的代码
      2. 右击并选择refactor -> rename

      或者您也可以使用 Xcode 顶部的 Editor 菜单并选择 refactor -> rename。完成!

      XCode 9 及更低版本的旧解决方案

      1. 点击Find -> Find and Replace in Workspace

      1. 重命名它,例如我将ChatViewController重命名为ChatVC,然后点击Enter。这通常也会重命名故事板中的命名,所以它真的很方便,但请仔细检查您是否真的要确保它已更改。

      1. 最后,不要忘记在项目导航器中重命名文件本身

      【讨论】:

        【解决方案5】:

        使用 Xcode 9,将于 2017 年秋季发布 - 开发人员将能够 - 1. 重构他们的 Swift 代码。 2. 重命名 Swift 项目类。 3. 一次运行多个模拟器实例。 4. 在物理设备上无线运行和调试。 5. 直接从 XCode 访问、拉取、推送和提交到 Git。

        我个人最喜欢的是在完成问题句子的多行中以红色突出显示问题的方式。

        This WWDC 2017 session is a good view

        XCode 对我们来说变得越来越智能。

        【讨论】:

        • 我们现在仍然可以使用测试版。
        【解决方案6】:
        1. 查找和替换cmd + shift + F
        2. 重命名类名。
        3. 如果您使用故事板/Nib 文件,请不要忘记将您在 Show the identify inspector 中分配的类更改为新的类名。

        提示Find & Replace的搜索字段下设置范围可以使这项工作变得清晰。

        【讨论】:

          【解决方案7】:

          AppCode by Jetbrains 可以很容易地重构/重命名 Swift 和 Objective-C 类; 它不是免费的,但它做得很好。

          【讨论】:

            【解决方案8】:

            如果您遇到与我类似的错误,当我选择重命名菜单时会弹出错误,只需构建项目并重试。 Xcode 似乎需要某种解析表来重构类名。

            【讨论】:

              猜你喜欢
              • 2017-02-14
              • 2014-07-30
              • 1970-01-01
              • 2018-12-05
              • 2018-03-31
              • 1970-01-01
              • 2017-04-06
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多