framework español ios xcode cocoa-touch swift foundation

ios - español - Swift class vs Cocoa Touch Class en Xcode6



cocoa touch español (1)

No hay diferencia entre las dos plantillas diferentes a excepción del código que ponen en el archivo de forma predeterminada. Como notó, ambos tienen la misma extensión y ambos son archivos de texto sin formato, el compilador no los trata de manera diferente.

La regla general es importar solo un módulo si lo necesita en ese archivo; básicamente, si obtiene un error de compilación de lo contrario. Recibirá un error de compilación debido a que faltan importaciones si intenta usar tipos de ellos.

Fundación

Foundation es básicamente la biblioteca estándar de desarrollo de Apple, implementada en Objective-C. Incluye tipos de datos como NSArray, NSString y NSDictionary. Sin embargo, Swift proporciona reemplazos para estos tipos de datos: Array, String y Dictionary. Solo debe import Foundation en archivos que intenten interactuar con las API de Objective-C. Sin embargo, dado que todas las API existentes están escritas en Objective-C (ya que Swift es tan nuevo), tendrá que importar Foundation en casi todos los archivos, excepto los objetos de dominio básicos.

UIKit

UIKit en realidad incluye la Fundación. Si importa UIKit, no necesita importar Foundation. UIKit es una colección de API estándar específicas para la interfaz de iOS. Incluye vistas como UITableView y controladores como UIViewController. Necesitará esto importante cuando trabaje en la interfaz de usuario de las aplicaciones de iOS.

Clase de Cocoa Touch

Esta plantilla es útil para crear subclases de clases de UIKit y, posiblemente, para que Xcode genere archivos de generador de interfaz para usted. Si no necesita ninguna de esas cosas, solo debe usar la plantilla Swift Class. Solo haga que su objeto se herede de NSObject si realmente tiene que hacerlo (si necesita poder usar su clase Swift de Objective-C). Si no hereda de NSObject, el compilador puede realizar optimizaciones adicionales y evita algunas de las partes más lentas del tiempo de ejecución de Objective-C.

Soy nuevo en el desarrollo de iOS y he comenzado directamente con Swift.

Cuando quiero agregar un nuevo archivo a un proyecto, el IDE me presenta dos archivos que parecen ser usados ​​indistintamente en los tutoriales que he visto hasta ahora. Ellos son "Cocoa Touch Class" y "Swift Class".

Cuando creo una nueva clase de Cocoa Touch, esto es lo que obtengo (dependiendo de la clase heredada)

import UIKit class CtTest: NSObject { }

y cuando creo un nuevo archivo Swift, obtengo esto:

import Foundation

La extensión para ambas clases es .swift

Si agrego la definición de clase al archivo Swift y la modifico de la siguiente manera:

import UIKit import Foundation class SwTest:NSObject { }

¿Hay alguna diferencia entre los dos archivos?

Si es así, ¿qué clases se prefieren en qué escenarios, por ejemplo. Controladores de vista, modelos, etc.

Gracias