添加ViewController.swift并重命名后,我不会将我的viewController链接到该swift类

时间:2015-04-15 21:04:21

标签: ios swift interface-builder

我创建了新的swift文件myviewController.swift,在链接到我的视图控制器之前,我已将其重命名为newController.swift。但它没有在身份检查器中显示将类链接到我的视图控制器。

我尝试将其直接添加到项目文件夹中,但它说newController.swift文件已经存在。

有谁能说明问题是什么?

7 个答案:

答案 0 :(得分:11)

在Swift 2.1,XCode 7,iOS9中重命名文件是在 3个步骤中完成的:

第1步: 重命名文件 例如:从默认的'ViewController.swift'到'MyViewController.swift'。确保你附加了'ViewController'文字(在这种情况下是'我'',那就是标准。

第2步:在文件中,更改班级名称 例如:从默认的'Class ViewController:UIViewController'到'Class MyViewController:UIViewController'

步骤3:在主故事板中,单击/选择场景/ ViewController(确保您有蓝色边框)。转到右侧菜单中的 Identity Inspector ,在“自定义类”部分下,“类”下拉列表现在应该具有新名称,即“MyViewController”。只需选择它。

清理项目以便刷新项目。

答案 1 :(得分:9)

Interface Builder中填充的类列表基于类名而不是文件名。单个文件可以容纳多个类。

除了更改文件名外,如果您希望Interface Builder和其他位置的类名不同,还需要更改类名。

如果在更改类名后,它仍然没有出现在Interface Builder中,请尝试按Cmd + B构建项目,然后重新查找。


考虑以下文件:

ViewController.swift

import Foundation
import UIKit


class FooController: UIViewController {
    //stuff
}

class BarController: UIViewController {
    // stuff
}

尽管文件名为ViewController.swift,但ViewController不会出现在我的视图控制器的下拉列表中。

相反,我得到默认,内置UIKit视图控制器,以及我在此文件FooControllerBarController中定义的两个控制器:

enter image description here

答案 2 :(得分:2)

您必须确保将代码连接到视图控制器类。

只要您选择了正确的视图控制器,您的文件名称就无关紧要了。

您必须选择视图控制器,然后使用身份检查器选择使用下拉菜单(NewViewController)创建的自定义类。

class NewViewController : UIViewController {
    // your code    
}

答案 3 :(得分:1)

在Swift 3中使用Xcode 8:

步骤1:在导航面板中打开项目导航器。单击要重命名的文件。

Click on the file

步骤2:在“工具”面板中打开“文件”检查器。更改文件名,然后按返回。

Change the name

第3步:更改文件中类的名称。

Change name of the class

第4步:打开故事板并选择相应的视图。

Select the view

步骤5:在“工具”面板中打开“身份”检查器。更改类的名称。按返回。

Change the name of class

附加步骤(如果仍然不起作用):退出Xcode并再次打开。这是我经常遇到的Xcode中的一个错误。

答案 4 :(得分:0)

如果您使用MV命令从终端重命名VC,那么您仍然可以在xcode [红色]中看到项目中的旧文件引用。只需从那里删除旧文件,否则在构建项目时会出现同样的错误。

答案 5 :(得分:0)

您需要转到项目根目录。该文件将在那里,您可以从那里删除不需要的文件。

答案 6 :(得分:0)

  1. 在全局项目中搜索和删除
  2. 强制退出Xcode
  3. 在.xcodeproj / xcworkspace上单击控制->显示软件包内容
  4. 删除xcuserdata目录
  5. 运行.xcodeproj / xcworkspace