Xcode Interface Builder-forma "correcta" de eliminar/renombrar IBOutlets / IBActions mal cableados


Soy nuevo en Xcode, trabajando a través de Swift, así que no estoy seguro de si lo que estoy describiendo es realmente un error.

Al usar interface builder y el editor asistente, puedo crear etiquetas, botones, etc., y crear Salidas y Acciones en el código con un control-arrastre.

Mientras sea perfecto, no hay problema. Pero parece que me encuentro con problemas si, por ejemplo, hago un error en el nombre del objeto. O, elijo la salida en lugar de la acción. No puedo encontrar una manera de hacer un corrección que no parece arruinar totalmente el IDE. Incluso si borro el objeto en el IB y el código, parece dejar problemas cuando compilo. O, si intento eliminar la línea en el código y volver a arrastrarla, se crea una nueva línea de código, pero el objeto parece hacer referencia al nuevo nombre y al antiguo nombre que ahora falta.

De nuevo, estoy trabajando con Swift --- Ya que no uso/conozco Objective-C No se si hay un comportamiento similar usando eso idioma.

Apreciar cualquier punteros. (Aparte de no utilizar el creador de interfaces / storyboards / Swift.)

Author: Suragch, 2014-07-02

3 answers

Utilice el inspector de conexiones para romper la conexión. A continuación, puede modificar/eliminar el objeto y/o el código sin tener que preocuparse.

introduzca la descripción de la imagen aquí

 61
Author: user3386109,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-07-02 05:01:18

La respuesta aceptada está bien, pero hay algunas maneras de hacer lo mismo.

Método Uno

Haga clic con el botón derecho en la vista en el guion gráfico y luego haga clic en la pequeña x junto a la toma de referencia.

introduzca la descripción de la imagen aquí

Método Dos

Haga clic con el botón derecho en el nombre de la vista en el Esquema del documento. A continuación, haga clic en la pequeña x junto a la salida de referencia.

introduzca la descripción de la imagen aquí

Método Tres

Seleccione la vista en el guion gráfico y luego haga clic en Inspector de Conexiones. Luego puede hacer clic en la pequeña x para eliminar una referencia de salida.

introduzca la descripción de la imagen aquí

Referencias adicionales en el Código

introduzca la descripción de la imagen aquí

Si está recibiendo conexiones de salida en código que no agregó usted mismo, vea esta respuesta.

 13
Author: Suragch,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 12:34:31

Puede encontrar IBOutlets no utilizados en el archivo en el que se declaran buscando en el "canal" del editor de código fuente un "agujero sin rellenar".

introduzca la descripción de la imagen aquí

 6
Author: Ron Fridman,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-08-13 16:58:26