Articles of initialization

iOS: ¿Es esta una tarea para enums?

Si deseo implementar el siguiente código, ¿sería adecuado el enumeración? He buscado algunas preguntas en enums, pero todavía estoy un poco inseguro. if (dayOfWeek == Monday) { // Do something } else if (dayOfWeek == Tuesday || dayOfWeek == Wednesday) { // Do something else } Si esto parece correcto, ¿cómo hago para inicializar la […]

Variable Swift utilizada dentro de su propio valor inicial.

Estoy intentando inicializar un object y obtengo este error: Variable used within its own initial value Aquí está mi código: ¿Por qué no puedo hacerlo así?

Iniciador faltante para inicio de conveniencia falla

Tengo el siguiente inicializador de extensión NSDate para crear un object NSDate de una cadena determinada. extension NSDate { convenience init(string: String) { let dateStringFormatter = NSDateFormatter() dateStringFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss" let date = dateStringFormatter.dateFromString(string) self.init(timeInterval:0, sinceDate:date!) } } Pero la llamada al método self.init force desenvuelve la variable de date que no es segura. […]

Cree una class extendida de UIViewController con un inicializador personalizado

Me encanta Swift, excepto por esto requinetworking init(coder aDecoder: NSCoder) { fatalError("init(coder:) has not been implemented") } Si creo cualquier class extendida de UIViewController, tengo que tener este init feo, poco claro y requerido, como el init que no quiero. ¿Hay alguna manera de que pueda configurar mi código para que pueda tener la configuration […]

¿Cómo ejemplifico varios controlleres de vista desde AppDelegate?

Hay una vista de contenedor que contiene 3 controlleres de vista (V1, V2 y V3). Puedo cambiar de A, B o C deslizando hacia la izquierda o hacia la derecha. Tanto A como B contienen su propia vista de colección. Si toco en cualquier celda en la vista de colección dentro de A o B, […]

AppDelegate.swift y RESideMenu: problema InitContentViewController

Estoy intentando usar RESideMenu en mi aplicación Swift. Utilicé RESideMenu antes cuando escribí mi aplicación en Objective-C. Esto es lo que escribí (y funciona perfectamente): leftSideMenuViewController *leftMenuViewController = [[leftSideMenuViewController alloc] init]; rightSideMenuViewController *rightMenuViewController = [[rightSideMenuViewController alloc] init]; // This is what I am struggling to translate in particular: RESideMenu *sideMenuViewController = [[RESideMenu alloc] initWithContentViewController:navigationController leftMenuViewController:leftMenuViewController […]

¿Cuál es el caso de uso para el inicializador de conveniencia?

Rápidamente está el concepto de inicializador designado (que es el constructor "normal" que conocemos de otros idiomas, supongo). Pero también hay algo llamado Convenience Initializer, que entiendo cómo escribir, pero el punto se me pierde. Si, si entiendo correctamente, puede lograr lo mismo sin escribir la convenience palabras key, ¿o no?

Inicialización de objects Swift (método de fábrica de class, inicio pnetworkingeterminado, inicio de conveniencia)

Hola, estoy tratando de encontrar el mejor patrón para trabajar con objects en Swift. Creo que lo hice bien con los inicializadores, tanto por conveniencia como por defecto … pero ¿qué pasa con los methods de fábrica de class? Traté de crear una Persona de class simple y una Estudiante de subclass, con pocas properties […]

Swift UIViewController Custom init () – Error no se puede asignar a uno mismo

En Objective-C solía anular el método init de mi UIViewController . No puedo lograr lo mismo en Swift: Código Objectivo-C: – (instancetype)init { self = [super init]; if (self) { self = [[UIStoryboard storyboardWithName:@"Main" bundle:[NSBundle mainBundle]] instantiateViewControllerWithIdentifier:@"ViewController"]; } return self; } Si trato de hacerlo en Swift, obtendré errores para "No puedo asignarme a mí […]

anulación de UIImage (nombrado:)

Estaba en path de anular el método de class UIImage init(named:) . Mi objective es poder recuperar el nombre de file de una image. El código se vería así: class UIImageWithFileName: UIImage { let fileName: String override init(named:String){ super.init(named) fileName = named } } Este código parece ser imposible por los siguientes motivos. Creé una […]