buttons - iOS-Configuración del delegado de la transmisión de entrada a otra clase
ionic text (2)
Puede encasillar el delegado y configurarlo en algún delegado particular y recibirá una llamada.
Me pregunto si es posible establecer el delegado de flujo de entrada a otra clase. Hasta ahora, todos los ejemplos que he encontrado son con uno mismo: [inputStream setDelegate:self]
. Quiero configurar delegado a otra clase como ViewController
no auto. Gracias por adelantado.
si su ViewController
está respondiendo a NSStreamDelegate
, puede iniciar una instancia del controlador y establecer el delegado como de costumbre.
@interface ViewController : NSOperation<NSStreamDelegate>
...
-
ViewController *vc = [[ViewController alloc] init];
[inputStream setDelegate:vc];
por ejemplo
actualizar:
utilice una variable id o UIViewController<NSStreamDelegate>
en la clase TCPConnection
para mantener el elemento primario.
Por ejemplo:
// TCPConnection.h
@interface TCPConnection : NSOperation<NSStreamDelegate>
@property(nonatomic, assign) UIViewController<NSStreamDelegate> parent;
-(id)initWithParent:(UIViewController<NSStreamDelegate> *)p_parent;
...
...
// TCPConnection.m
-(id)initWithParent:(UIViewController<NSStreamDelegate> *)p_parent
{
self = [super init];
self.parent = p_parent;
return self;
}
// UIViewController<NSStreamDelegate>.m
TCPConnection *connection = [[TCPConnection alloc] initWithParent:self];
O una solución individual, donde siempre solo llama
TCPConnection *connection = [TCPConnection sharedInstance];
y tiene solo una instancia de esta clase. Para la mayoría de los casos, la mejor manera;)