我创建了新的swift文件myviewController.swift
,在链接到我的视图控制器之前,我已将其重命名为newController.swift
。但它没有在身份检查器中显示将类链接到我的视图控制器。
我尝试将其直接添加到项目文件夹中,但它说newController.swift文件已经存在。
有谁能说明问题是什么?
答案 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构建项目,然后重新查找。
考虑以下文件:
import Foundation
import UIKit
class FooController: UIViewController {
//stuff
}
class BarController: UIViewController {
// stuff
}
尽管文件名为ViewController.swift
,但ViewController
不会出现在我的视图控制器的下拉列表中。
相反,我得到默认,内置UIKit
视图控制器,以及我在此文件FooController
和BarController
中定义的两个控制器:
答案 2 :(得分:2)
您必须确保将代码连接到视图控制器类。
只要您选择了正确的视图控制器,您的文件名称就无关紧要了。
您必须选择视图控制器,然后使用身份检查器选择使用下拉菜单(NewViewController)创建的自定义类。
class NewViewController : UIViewController {
// your code
}
答案 3 :(得分:1)
在Swift 3中使用Xcode 8:
步骤1:在导航面板中打开项目导航器。单击要重命名的文件。
步骤2:在“工具”面板中打开“文件”检查器。更改文件名,然后按返回。
第3步:更改文件中类的名称。
第4步:打开故事板并选择相应的视图。
步骤5:在“工具”面板中打开“身份”检查器。更改类的名称。按返回。
附加步骤(如果仍然不起作用):退出Xcode并再次打开。这是我经常遇到的Xcode中的一个错误。
答案 4 :(得分:0)
如果您使用MV命令从终端重命名VC,那么您仍然可以在xcode [红色]中看到项目中的旧文件引用。只需从那里删除旧文件,否则在构建项目时会出现同样的错误。
答案 5 :(得分:0)
您需要转到项目根目录。该文件将在那里,您可以从那里删除不需要的文件。
答案 6 :(得分:0)