without new swift frameworks xcode6 uikit

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.