Mantener el text en UITextView resaltado cuando se desecha el popover.

Tengo un UIPopover que muestra una vista simple que contiene una UITextView llena de text. He logrado resaltar el text. Cuando se desecha el popover y se vuelve a abrir, desaparece el resaltado. Quiero mantener el text resaltado incluso si la aplicación está cerrada. ¿Alguna idea de cómo lograr eso?
El código que utilicé es el siguiente:

- (void)highlight { NSRange selectedRange = self.textViewAll.selectedRange; NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc] initWithAttributedString:self.textViewAll.attributedText]; [attributedString addAttribute:NSForegroundColorAttributeName value:[UIColor networkingColor] range:selectedRange]; // [highlightedRange addObject:]; // This is where i tried to save each location and length in a mutable array but didn't work [highlightedRangeLocation insertObject:[NSNumber numberWithInteger:selectedRange.location] atIndex:indexOfHighlight]; [highlightedRangeLength insertObject:[NSNumber numberWithInteger:selectedRange.length] atIndex:indexOfHighlight]; /////////////////////////////////////////////////////////////////////////////// self.textViewAll.attributedText = attributedString; indexOfHighlight ++ ; } - (void)viewDidLoad { UIMenuItem *highlightMenuItem = [[UIMenuItem alloc] initWithTitle:@"Highlight" action:@selector(highlight)]; [[UIMenuController shanetworkingMenuController] setMenuItems:[NSArray arrayWithObject:highlightMenuItem]]; float sysVer = [[[UIDevice currentDevice] systemVersion] floatValue]; if (sysVer >= 8.0) { self.textViewAll.layoutManager.allowsNonContiguousLayout = NO; } } 

¿Alguien podría señalar cómo continuar desde aquí?

Editar 1:

El código que cierra el popover:

 - (IBAction)closeFun:(id)sender { // self.popoverPresentationController set [self dismissViewControllerAnimated:YES completion:nil]; // [self dismis] } 

¿No puede save el range de text resaltado en [NSUserDefaults standardUserDefaults] cada vez que se desecha el popover y lo recupera cuando vuelve a aparecer el popover?

Creo que el problema está en el hecho de que el popover es responsable del estado resaltado, es decir, es el popover que mantiene ese hecho / estado.
El popover es una parte de la capa de presentación / interfaz de usuario. Seguramente el punto culminante representa un hecho que (ahora viene la captura) es completamente independiente del popover.

Por ejemplo, resaltar una tarea podría representar que la tarea se debe. O bien, resaltar una label con el color rojo podría significar que el saldo en el banco está en numbers negativos. Verás, no importa qué elemento de interfaz de usuario uses, solo representan una realidad empresarial subyacente. Pero lo que probablemente sucede es que crea una instancia de pop-up, la configura para que tenga un elemento resaltado. Pero luego esta instancia concreta de popover muere , cuando está cerrada.

Y el punto culminante muere con él.

Cuando haces clic en un button (supongo) aparece una window emergente, pero es una instancia diferente. Esta instancia no sabe sobre destacar. Incluso si de alguna manera se las arregló para mantener viva la única instancia de popover, y simplemente se esconden y muestran de nuevo, el popover NO debería ser responsable de saber si algo está rojo o debido (y, por lo tanto, resaltado).

En su aplicación, debe tener una capa de model bien separada … que es básicamente un set de objects relacionados que representan el estado, es decir. hecho que está relacionado con lo que la aplicación resuelve desde la perspectiva comercial (por ejemplo, dibuja líneas, calcula intereses … almacena música … todo realmente). Esta capa de model, algún object en ella, debe almacenar los hechos … es decir. la tarea se debe o el saldo es bajo.

Cada vez que muestre su popover, debe investigar cuáles son los hechos subyacentes en su capa de model justo cuando se muestra el popover. Ivestigating significa encontrar una forma programática de search objects de model, conocer valores allí y establecer de nuevo el punto culminante en ese momento basado en esta "investigación". No debe confiar en el hecho de que fue destacado en un pasado no muy lejano.