swift - new - Nuevos archivos de proyecto que requieren la importación de UIKit
uiviewcontroller swift (2)
Tengo un proyecto A, que comencé a escribir con Swift1-Xcode6. Tengo algunos archivos de extensión como:
extension UIView {
convenience init(x: CGFloat, y: CGFloat, w: CGFloat, h: CGFloat) {
self.init(frame: CGRect(x: x, y: y, width: w, height: h))
}
}
Creé un nuevo proyecto B y copié estos archivos de extensión allí. Estoy recibiendo este error:
UIViewExtensions.swift:11:11: Use of undeclared type ''UIView''
Los archivos en Project-A no necesitan la inclusión de UIKit, pero Project-B sí. ¿Cual es la razon?
Esto probablemente ocurre porque importas algunos Objective-C Frameworks en tu encabezado de puente que pasa por importar UIKit en su archivo .h, que automáticamente importa UIKit a todas tus clases de Swift.
UIView
se define en el marco UIKit, por lo que un archivo Swift que use esa clase necesita import UIKit
.
Pero dado que todos los archivos de Swift importan el mapeo Swift del archivo de encabezado de puente , también sería suficiente si el archivo de encabezado de puente importa directa o indirectamente el marco UIKit.
Esa podría ser la razón por la que no tuvo que importarlo explícitamente en el archivo Swift en su proyecto anterior.