iOS usando delegado a través de 2 clases -- ios campo con delegates camp Relacionados El problema

iOS Using delegate through 2 class


0
vote

problema

Español

Tengo 3 clases: LISTITEM, LISTPAGEVIEW, LISTVIEWCONTROLLER

Hay código en ListViewController cuando está cargado Artículo:

  ListPageView *pageView = [[ListPageView alloc] init]; pageView.delegate = self; for(NSDictionary *_itemDetails in res) {     // khởi tạo item của list     ListItem *item = [[ListItem alloc] initWithImage:[MEDIA_SERVER stringByAppendingString:[_itemDetails objectForKey:@"image"]]];     item.data = _itemDetails; // copy     item.center = CGPointMake(colIndex * 165 + 230 + colIndex * 30, rowIndex * 125 + 120 + rowIndex * 10);     // gán tổng số page hiện có trên server     _totalPage = [[_itemDetails objectForKey:@"pages"] intValue];     // delegate vào self để gọi sự kiện click     item.delegate = pageView;     item.tag = ITEM_TAG + i;     i++;     // set Index     colIndex++;     if(colIndex == 4)     {         rowIndex++;         colIndex = 0;     }      [pageView addSubview:item]; } [self.view addSubview:pageView];   

El problema es si agrego directamente Listitem a Self.Ver, ListViewController puede delegar el evento táctil de LISTITEM. Pero si agrego LISTITEM a LISTPAGEVIE, agregue listpageView a self.view ListViewControllController Cant Delegate Touch Evento de ListItem.

Lista del delegado del artículo:

  - (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event { if ([_delegate respondsToSelector:@selector(ListItemBeginTouched:)]) {     [_delegate ListItemBeginTouched:self]; }   

LISTPAGEVIEGE Delegado:

  -(void)ListItemBeginTouched:(ListItem *)listItem { if ([_delegate respondsToSelector:@selector(ItemBeginTouched:withPageView:)]) {     [_delegate ItemBeginTouched:listItem withPageView:self]; } }   
Original en ingles

i have 3 class : ListItem, ListPageView, ListViewController

there is code in ListViewController when loaded item :

ListPageView *pageView = [[ListPageView alloc] init]; pageView.delegate = self; for(NSDictionary *_itemDetails in res) {     // khxe1xbbx9fi txe1xbaxa1o item cxe1xbbxa7a list     ListItem *item = [[ListItem alloc] initWithImage:[MEDIA_SERVER stringByAppendingString:[_itemDetails objectForKey:@"image"]]];     item.data = _itemDetails; // copy     item.center = CGPointMake(colIndex * 165 + 230 + colIndex * 30, rowIndex * 125 + 120 + rowIndex * 10);     // gxc3xa1n txe1xbbx95ng sxe1xbbx91 page hixe1xbbx87n cxc3xb3 trxc3xaan server     _totalPage = [[_itemDetails objectForKey:@"pages"] intValue];     // delegate vxc3xa0o self xc4x91xe1xbbx83 gxe1xbbx8di sxe1xbbxb1 kixe1xbbx87n click     item.delegate = pageView;     item.tag = ITEM_TAG + i;     i++;     // set Index     colIndex++;     if(colIndex == 4)     {         rowIndex++;         colIndex = 0;     }      [pageView addSubview:item]; } [self.view addSubview:pageView]; 

problem is if i directly add ListItem into self.view, ListViewController can delegate touch event of ListItem. but if i add ListItem into ListPageView then add ListPageView into self.view ListViewController cant delegate touch event from ListItem.

List item delegate :

- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event { if ([_delegate respondsToSelector:@selector(ListItemBeginTouched:)]) {     [_delegate ListItemBeginTouched:self]; } 

ListPageView delegate :

-(void)ListItemBeginTouched:(ListItem *)listItem { if ([_delegate respondsToSelector:@selector(ItemBeginTouched:withPageView:)]) {     [_delegate ItemBeginTouched:listItem withPageView:self]; } } 
     
   
   

Lista de respuestas


Relacionados problema

3  Comprobando un objeto de delegado válido antes de enviarlo un mensaje  ( Checking for a valid delegate object before sending it a message ) 
Estoy tratando de implementar el patrón de delegado en Objective-C, sin embargo, estoy experimentando una mala excepción de acceso al invocar al delegado a ve...

3  Acción de fundición <cadena> a la acción <objeto>  ( Casting actionstring to actionobject ) 
Necesito fundir un Action<string> a Action<object> . Si bien esto es un tipo no seguro en general, en mi caso, siempre se llamará con una cadena. Estoy rec...

1  Delegado de Nstokenfield  ( Nstokenfield delegate ) 
En la "Guía de programación de campo de campo para el cacao" de Apple en la sección "Interacción básica con el delegado" dice que cuando el usuario escribe al...

11  Handlers de eventos y delegados anónimos / expresiones lambda  ( Eventhandlers and anonymous delegates lambda expressions ) 
Espero borrar algunas cosas con delegados anónimos y las expresiones Lambda se utilizan para crear un método para los manejadores de eventos en C #, por lo me...

12  Delegados y Lambdas y Linq, ¡OH MI!  ( Delegates and lambdas and linq oh my ) 
Como desarrollador bastante junior, estoy trabajando en un problema que destaca mi falta de experiencia y los agujeros en mi conocimiento. Por favor, disculpe...

34  En C #, ¿por qué no puedo probar si un manejador de eventos está nulo en cualquier lugar fuera de la clase que está definido?  ( In c why cant i test if a event handler is null anywhere outside of the class ) 
Estoy seguro de que simplemente no estoy entendiendo algo fundamental sobre los eventos y / o los delegados en C #, pero ¿por qué no puedo hacer las pruebas b...

1  C # proporcionando devoluciones de llamada de C ++, Violación de acceso en _ThreadEx.C en el final ()  ( C sharp providing c callbacks access violation in threadex c in the endthrea ) 
Tengo una aplicación de servicio C # Windows que pasa un puntero de función de devolución de llamada a una DLL de C ++. He definido tanto el puntero de la fun...

0  Envío de información de vuelta del delegado [iPhone]  ( Sending information back from delegate iphone ) 
Estoy usando nsxmlparser en mi archivo rootviewcontroller.m. NSXMLParser *xmlParser = [[NSXMLParser alloc] initWithData:response_data]; [xmlParser setDeleg...

0  Delegados de Objective-C  ( Objective c delegates ) 
¿Qué son los delegados en Objective-C? y cuáles son los métodos del delegado. ? cualquiera puede explicar con un ejemplo ... por favor. tnax y saludos. ...

2  ¿Hay alguna manera de llamar a un delegado C # de COM INTEROP?  ( Is there a way to call a c sharp delegate from com interop ) 
Estoy portando una biblioteca C # a COM y estoy teniendo dificultades para tratar de traducir a algunos delegados. La biblioteca C # funciona con algunas devo...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos