我有一个项目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类中。