我有一个项目A,我从Swift1-Xcode6开始写。我有一些扩展文件,比如:

extension UIView {
    convenience init(x: CGFloat, y: CGFloat, w: CGFloat, h: CGFloat) {
        self.init(frame: CGRect(x: x, y: y, width: w, height: h))
    }
}

我创建了一个新的项目b,并在其中复制了这些扩展文件。我得到这个错误:
UIViewExtensions.swift:11:11: Use of undeclared type 'UIView'

project-a中的文件不需要包含uikit,但project-b需要。原因是什么?

最佳答案

这可能是因为您在桥接头文件中导入了一些objective-c框架,而这些框架恰好在其.h文件中导入uikit,这会自动将uikit导入到所有swift类中。

10-08 05:57
查看更多