2009-09-07 18 views
6

Este código debe copiar la cadena a generalPasteboard, como el objeto [[UIPasteboard generalPasteboard] string], pero el método hace que el programa finalice.UIPasteboard - no se puede copiar el texto

- (void)copyResultToPasteboard { 
    NSString *message = self.resultTextView.text; 
    [UIPasteboard generalPasteboard].string = message; 
    [message release]; 
} 

creo que es algo que ver con el formato, ya que el método funciona si el mensaje se establece en una cadena literal, pero es sólo una resultTextView.text NSString ... No entiendo totalmente, puede alguien ayuda?

Respuesta

3

¿Está seguro de que resultTextView.text está devolviendo una copia de la tienda de respaldo, y no el NSString* usado para almacenar los datos? Al revisar la documentación de Apple, parece probable que solo devuelva el puntero interno (no retenido). Llamar lanzamiento en una cadena utilizada por la clase UITextView podría causar este comportamiento.

+0

Eliminar [liberación de mensaje] funciona muy bien; aclamaciones. – Boz

3

va a enviar -release a un objeto que no lo hizo (o al menos, que no parece que tenga, desde el snippit) primero -retain, +alloc o conseguir a través -copy ing otro objeto.

Cuestiones relacionadas