Articles of dealloc

La mejor práctica para agregar / eliminar observadores a / desde NSNotificationCenter

¿Cuál es la mejor práctica para agregar y eliminar observadores a / desde NSNotificationCenter ? Me pregunto si agregar self como un observador en viewDidLoad y eliminar self en viewDidUnload es suficiente. O tal vez debería dealloc self en dealloc . Tal vez se deban considerar las condiciones de baja memory. Pude ver la adición […]

Enganche final de ARCloc

Dada la siguiente implementación simple: @implementation RTUDeallocLogger -(void)dealloc { NSLog(@"deallocated"); } @end ejecutamos el siguiente código en ARC: @implementation RTURunner { NSArray* arr; } -(void)run{ arr = [NSArray arrayWithObjects:[[RTUDeallocLogger alloc]init], [[RTUDeallocLogger alloc]init], [[RTUDeallocLogger alloc]init], nil]; NSLog(@"nulling arr"); arr = NULL; NSLog(@"finished nulling"); } @end obtenemos la siguiente salida de logging: anula arr acabo de anular […]

¿Cómo eliminar el observador KVO de sí mismo en la categoría UIButton?

Al principio debo mencionar que no quiero subclasificar UIButton por otros motivos. Asummos que tenemos una categoría de UIButton que, junto con algunos methods de formateo, también está observando en los cambios de estado propio (habilitados, resaltados, seleccionados) para invocar el formatting de button elegante basado en CALayer. He logrado establecer un observador para eso, […]

UISplitViewController: Deinit DetailView en modo queuepsado

He estado luchando en esto por un time ahora, pero no pude encontrar una solución: Tengo una aplicación iOS 9 que admite todas las familias de dispositivos, utiliza classs de tamaño y está progtwigda con Swift 2.0. Estoy usando un UISplitViewController y todo funciona como quiero, excepto en un entorno queuepsado (p. Ej., En un […]

Invalidando un NSTimer en dealloc

Siguiendo esta pregunta , y más específicamente, este comentario : porque los ciclos de retención (también conocida como reference) en el caso común en que el objective del timer también es su propietario Me pregunto por qué dealloc no es un buen lugar para invalidar un NSTimer . Recuerdo haber perfilado mi aplicación sin repetir […]

El object no se desasigna al capturar por cierres en Swift

La guía del lenguaje de progtwigción Swift tiene el siguiente ejemplo: class HTMLElement { let name: String let text: String? @lazy var asHTML: () -> String = { [unowned self] in if let text = self.text { return "<\(self.name)>\(text)</\(self.name)>" } else { return "<\(self.name) />" } } init(name: String, text: String? = nil) { self.name […]

Dealloc no ha llamado a todos los controlleres de vista cuando usa desenrollar segues

Estoy diseñando un juego con 6 controlleres de vista. Uso segues modal para navegar hacia adelante y desenrollar segues para navegar hacia atrás. El juego fluye a través de los controlleres de vista es A -> B -> C -> D -> E -> F. Cuando trato de desenrollar de F a A, se invoca […]

AVPlayerItem problema de addobserver en iOS8

Hola, estoy reproduciendo videos en mi UITableViewCells usando AVPlayer. Funcionaba bien en iOS 7, pero en iOS8 se bloquea con el siguiente error. 'An instance 0x7c01b000 of class AVPlayerItem was deallocated while key value observers were still registenetworking with it. Aquí está mi código – (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { ……… ……… if(cell.videoPlayer!= nil […]

UIDocument nunca llamando a dealloc

Tengo un problema donde no puedo parecerme dealloc UIDocument (usado en iCloud) Después de ejecutar un NSMetaDataQuery para search el documento como sigue … NSMetadataQuery *query = [[NSMetadataQuery alloc] init]; _query = query; [query setSearchScopes:[NSArray arrayWithObject: NSMetadataQueryUbiquitousDocumentsScope]]; NSPnetworkingicate *pnetworking = [NSPnetworkingicate pnetworkingicateWithFormat: @"%K == %@", NSMetadataItemFSNameKey, kFILENAME]; [query setPnetworkingicate:pnetworking]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(queryDidFinishGathering:) name:NSMetadataQueryDidFinishGatheringNotification object:query]; […]

¿Cuál es la relación entre didReceiveMemoryWarning y dealloc?

¿Se dealloc un dealloc si está bajo la presión de la memory? Si es verdad, ¿se llama antes a didReceiveMemoryWarning o después? Además, cuando se lanza el controller de vista, ¿está seguro de que se dealloc a dealloc ?