需要导入 UIKit 的新项目文件
New project files requiring the import of UIKit
我有一个项目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 中需要。这是什么原因?
UIView
是在 UIKit 框架中定义的,所以 Swift 文件使用
class 需要 import UIKit
.
但由于所有 Swift 文件都导入了 (Swift 的映射)
桥接头文件,桥接头文件直接或间接导入UIKit框架也可以
这可能是您不必显式导入它的原因
在旧项目的 Swift 文件中。
这可能是因为您在桥接 header 中导入了一些 Objective-C 框架,而这些框架恰好在其 .h 文件中导入了 UIKit - 它会自动将 UIKit 导入到您所有的 Swift 类
我有一个项目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 中需要。这是什么原因?
UIView
是在 UIKit 框架中定义的,所以 Swift 文件使用
class 需要 import UIKit
.
但由于所有 Swift 文件都导入了 (Swift 的映射) 桥接头文件,桥接头文件直接或间接导入UIKit框架也可以
这可能是您不必显式导入它的原因 在旧项目的 Swift 文件中。
这可能是因为您在桥接 header 中导入了一些 Objective-C 框架,而这些框架恰好在其 .h 文件中导入了 UIKit - 它会自动将 UIKit 导入到您所有的 Swift 类