Xcode 6界面构建器不显示自定义类

5
我在Xcode 6.3界面构建器中遇到了错误。当我创建一个新的自定义类并想要将其添加到界面构建器的自定义类字段时,它不可用。我使用Swift语言。
我尝试过以下方法: - 删除派生数据 - 重新安装Xcode - 清除项目 - 创建新项目 - 类名与文件名相同 - 超类和界面构建器类相同
但都没有效果;-( 有什么想法吗?
图片链接:https://istack.dev59.com/Nqfj9.webp, https://istack.dev59.com/rzvyd.webp, https://istack.dev59.com/pr5fV.webp

你确定类名和文件名是一样的吗? - milo526
检查TimerCVC是否是UIViewController的子类,并且文件是否作为与您的xib/storyboard文件相同的目标成员添加。 - Duc
@Duc 这是一个 UICollectionViewController,是需要的子类。正如您在添加的图片中所看到的那样,它是右侧目标的成员。 - Lailo
糟糕。:( 除了进行大规模缓存清理(例如我在这里描述的方式,听起来你已经完成了其中的大部分),我想不出还有什么尝试的办法。否则,似乎项目本身以某种方式出现了问题,而我不知道原因。 - matt
@matt 问题只出现在我的MacBook Pro上,我尝试在另一台Mac上运行它,那里可以正常工作。这一定是我的Mac有什么问题。 - Lailo
显示剩余7条评论
2个回答

0

我曾经遇到过同样的问题,认为这是一个错误。但事实上是我的误解。

实际发生的情况是:

自定义类下拉列表仅显示那些当前选定对象类的子类的自定义类。

例如,如果我们在xib中有一个imageview对象,并在选择它后查看自定义类下拉列表,它将仅显示从(UIImageView的子类)继承的自定义类。

我做错了的是寻找那些UIView的子类的自定义类。

在您的情况下,可能是由于您的TimerCVC是UICollectionViewController的子类而不是UIViewController导致的,但不能100%确定。


实际上,我创建了一个子类化ViewController和拥有TableViewDelegate代码的类,但在IB中,我拖动了一个真正的TableViewController - user5306470

-4

TimerCVC不是UIViewController的子类

按下ctrl-n -> 在左侧面板选择iOS ->源代码 ->Cocoa Touch Class ->从下拉菜单中选择UIViewController ->然后填写名称字段(Xcode会自动补全ViewController)。

应该看起来像这样

import UIKit

class TimerViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }


}

它是一个UICollectionViewController,错误仍然存在,将ViewController添加到VC中并不会改变;-( - Lailo
尝试以下操作:Window -> Organizer(如果是Xcode 6.3,则为Projects)-> 选择您的项目并单击派生数据上的删除 -> 重新启动Xcode。 - Christos Chadjikyriacou

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接