iOS: Obtención de un error con respecto al pulgador de botón
-
21-12-2019 - |
Pregunta
Por alguna razón, estoy recibiendo un error al tocar un botón que está conectado a una iBACION. En mi HomeViewController, un usuario realiza una acción, agregando un nuevo ViewController al controlador de navegación, y dentro de la vista del controlador de esta vista es una vista más pequeña que contiene el botón . Revelaré mi código, y miré a través del inspector para ver si me perdí nada, pero nada extraño se destacó.
Aquí está mi archivo de control de vista agregado .h:
@property (weak, nonatomic) IBOutlet UIView *popupView;
@property (weak, nonatomic) IBOutlet UIImageView *blurredImageView;
@property (weak, nonatomic) UIImage *blurredImage;
- (void)presentEventEditViewControllerWithEventStore:(EKEventStore*)eventStore;
- (IBAction)addEvent:(id)sender;;
- (IBAction)cancelEvent:(id)sender;
Cuando toco un botón sin vincular los ibacciones a ninguno de ellos, sin ningún error. Tan pronto como los vinculo, la aplicación se bloquea y muestra el siguiente error:
P.s. También recibí lo siguiente en un error previo (antes de no desvincular y volver a intimidar):
-[OS_xpc_connection cancelEvent:]:
Actualización:
Cargo el BannerViewController de la siguiente manera:
BannerPopUpViewController *BPV = [[BannerPopUpViewController alloc] initWithNibName:@"BannerPopUpViewController" bundle:nil];
BPV.blurredImage = [self screenshot];
[self.view.window addSubview:BPV.view];
Aquí está el primer error en el que me refería, cortesía de Crasklytics:
Pero el que sigo recibiendo, ya que no me desvinculé la acción y reinicié es lo siguiente:
Solución
cuando lo haces:
[self.view.window addSubview:BPV.view];
La vista se conserva por su supervista (la ventana en este caso), pero nada está reteniendo el controlador de vista BPV.Algo necesita o se desasignará y luego se presionará cualquier botón, resultará en una llamada a un objeto destruido (encienda los zombies para verificar).
Retener BVP en algún lugar ahorrándolo en una propiedad fuerte de agregarla como un controlador de vista de Chile.