después de agregar un ViewController.swift y renombrarlo no vinculará my viewController con esa class swift

Había creado un nuevo file swift myviewController.swift y antes de vincularlo a mi controller de vista, lo había cambiado de nombre a newController.swift . Sin embargo, no se muestra en el inspector de identidad para vincular la class a mi controller de vista.

Intenté agregarlo directamente a la carpeta del proyecto pero dice que el file newController.swift ya existe.

¿Alguien puede sugerir cuál es el problema?

La list de classs pobladas en su Interface Builder se basa en los nombres de las classs y no en los nombres de los files. Los files individuales pueden contener varias classs.

Además de cambiar el nombre del file, también debe cambiar el nombre de la class si desea que el nombre de la class sea diferente en Interface Builder y en otras ubicaciones.

Si, después de cambiar el nombre de la class, todavía no aparece en Interface Builder, intente build su proyecto presionando Cmd + B y volviendo a search.


Considere el siguiente file:

ViewController.swift

 import Foundation import UIKit class FooController: UIViewController { //stuff } class BarController: UIViewController { // stuff } 

A pesar de que el file se llama ViewController.swift , ViewController no aparecerá en la list desplegable de mis controlleres de vista.

En su lugar, obtengo los controlleres de vista UIKit pnetworkingeterminados, y los dos controlleres que FooController en este file, FooController y BarController :

introduzca la descripción de la imagen aquí

Cambiar el nombre del file en Swift 2.1, XCode 7, iOS9 se realiza en 3 pasos :

Paso 1: Cambie el nombre del file por ejemplo, desde el valor pnetworkingeterminado 'ViewController.swift' a 'MyViewController.swift'. Asegúrate de mantener el text 'ViewController' adjunto (en este caso a 'Mi'. Ese es el Estándar.

Paso 2: dentro del file, cambie el nombre de la class, por ejemplo: del valor pnetworkingeterminado 'Class ViewController: UIViewController' a 'Class MyViewController: UIViewController'

Paso 3: en el guión gráfico principal, haz clic / selecciona en la escena / ViewController (asegúrate de que tienes el borde azul). Vaya al Inspector de identidad en el menu de la derecha, en la sección 'Clase personalizada', el menu desplegable 'Clase' ahora debe tener el nombre nuevo, es decir 'MyViewController'. Simplemente selecciónalo

Limpie el proyecto para que se actualice lo mismo.

Debe asegurarse de conectar su código a la class de controller de vista.

El nombre de su file no importa siempre que select el controller de vista correcto.

Debe seleccionar su controller de vista y seleccionar, utilizando el inspector de identidad, la class personalizada que creó usando el menu desplegable (NewViewController).

 class NewViewController : UIViewController { // your code } 

Incase si cambió el nombre de su VC desde el terminal usando el command MV, entonces todavía puede ver la reference de file anterior en el Proyecto en xcode [En color rojo]. Simplemente borre el file antiguo de allí también, de lo contrario, obtendrá el mismo error cuando compile su proyecto.

En Swift 3 usando Xcode 8:

Paso 1: abra el browser del proyecto en el panel de navigation. Haga clic en el file que desea cambiarle el nombre.

Haga clic en el archivo

Paso 2: abra el inspector de files en el Panel de Utilidades. Cambia el nombre del file y presiona return.

Cambiar el nombre

Paso 3: cambia el nombre de la class en tu file.

Cambia el nombre de la clase

Paso 4: abre tu guión gráfico y selecciona la vista correspondiente.

Seleccione la vista

Paso 5: Abra el inspector de identidad en el panel Utilidades. Cambia el nombre de la class. Pulse Retorno.

Cambia el nombre de la clase

Paso adicional (si todavía no funciona): Salga de Xcode y abra nuevamente. Este es un error en Xcode al que me enfrento con frecuencia.

Debe ir al directory raíz de su proyecto. El file estará allí, puedes eliminar el file no deseado desde allí.