我似乎找到了另一种情况,导致Interface Builder文件中着名的" 未知类。"
我尝试使用人们在其他Q / A中发布的有关此错误的所有建议来修复此问题,并且没有一个有效。
我尽可能地删除了代码以隔离问题。这是:
导致错误的代码:
第1课:
import UIKit
class TableViewControllerSubclass<T:Any>:UITableViewController{
}
第2课:
import UIKit
class TableViewControllerSubclassChild:TableViewControllerSubclass<Int>{
override func viewDidLoad() {
super.viewDidLoad()
}
}
Main StoryBoard有一个继承自TableViewControllerSubclassChild
的UITableViewController。这是一个屏幕截图:
当我按原样运行项目时,我在控制台中获得以下输出:
2017-04-13 15:50:30.226 TableViewControllerBug[6087:165667] Unknown class _TtC22TableViewControllerBug32TableViewControllerSubclassChild in Interface Builder file.
并且断点viewDidLoad
永远不会被击中。
现在,如果在两个类中删除泛型的使用并运行项目,则控制台没有输出,并且viewDidLoad
处的断点被命中。
不会导致错误的代码
NewClass 1:
import UIKit
class TableViewControllerSubclass:UITableViewController{
}
NewClass 2:
import UIKit
class TableViewControllerSubclassChild:TableViewControllerSubclass{
override func viewDidLoad() {
super.viewDidLoad()
}
}
以下是code
的项目我的问题:
这是Xcode / Interface构建器的错误吗?或问题是否源于非法使用仿制药?
如果这是非法使用仿制药,在这种情况下如何正确使用仿制药?
如果这是一个错误,有没有人知道一个解决方法?
对问题的任何见解都会有所帮助!谢谢!