protocolos multiple herencia objective-c xcode refactoring code-generation

objective c - multiple - ¿Existe una combinación de teclas en Xcode para implementar un protocolo?



protocolos swift (7)

En Visual Studio, si defino una clase para implementar una interfaz, por ejemplo

class MyObject : ISerializable {}

Puedo hacer clic con el botón derecho en ISerializable, seleccionar " Implementar interfaz " en el menú contextual y ver los métodos apropiados aparecer en mi definición de clase.

class MyObject : ISerializable { #region ISerializable Members public void GetObjectData(SerializationInfo info, StreamingContext context) { throw new NotImplementedException(); } #endregion }

¿Hay algo así como esta funcionalidad disponible en Xcode en la Mac? Me gustaría poder implementar Protocolos automáticamente de esta manera. Tal vez con los métodos opcionales generados pero comentados.


No he visto esa característica en Xcode. Pero parece que alguien podría escribir un nuevo script de usuario llamado "Colocar implementador Defs en el portapapeles" que se encuentra dentro de Scripts> Código.

No has encontrado esto útil.


Actualmente no existe tal refactorización en Xcode.

Si lo desea, presente una solicitud de mejora .


Macrumors también discutió sobre esto. Hay un enlace a algunas secuencias de comandos de apple. No he probado estos.


Xcode puede ayudarte por el método de protocolo, digamos que tienes un protocolo como este:

@protocol PosterousWebsitesDelegate <NSObject> - (void)PosterousWebsitesLoadSuccess:(PosterousWebsites*)websites; @end

en la sección @implementation de su archivo .m puede comenzar a escribir el nombre del método y presionar la tecla ESC para autocompletar la firma del método / selector:

-(void)Poste (...press ESC...)

Xcode autocompletará una firma completa del método @protocol, pres TAB para confirmar el código.

Si realmente se está comprometiendo a aprender el desarrollo de OSX / iOS, le recomendaría leer "XCode 3 Unleashed", un libro que realmente me ayudó a conocer Xcode tan profundamente como sé VS :)


XCode actualmente no es compatible con ese tipo de automatización. Pero: una forma fácil de obtener un código bootstrap con un protocolo es hacer clic en el nombre del protocolo en su declaración de clase

@interface FooAppDelegate : NSObject <NSApplicationDelegate, NSTableViewDelegate> {

para abrir rápidamente el archivo .h que define el protocolo. Desde allí, copie y pegue los métodos que le interesan. Esos encabezados suelen ser bien comentados, lo que ayuda a determinar qué métodos puede ignorar de manera segura.



Sé que este hilo es un poco antiguo, pero me preguntaba lo mismo y encontré esta pregunta.

En mi caso, estoy definiendo una propiedad en la interfaz (.h) y quiero sintetizarla en la implementación (.m). También necesito implementar métodos definidos en la interfaz. Sí, Xcode ayuda como otros lo han mencionado, pero los IDE modernos ofrecen estas mejoras de productividad para cosas que hacemos con frecuencia. Parece que esto todavía no es una característica en Xcode 4.3.3. Sin embargo, la función está disponible en el AppCode de JetBrains . Solo estoy incursionando en la versión de prueba, pero parece que solo es posible una propiedad o método a la vez, no toda la interfaz como Visual Studio.