2009-09-07 12 views
6

Questo codice deve copiare la stringa in generalPasteboard, come [[UIPasteboard generalPasteboard] string], ma il metodo fa terminare il programma.UIPasteboard - impossibile copiare il testo

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

penso che sia qualcosa a che fare con il formato, visto che il metodo funziona se il messaggio è impostato su una stringa letterale, ma è solo un resultTextView.text NSString ... non capisco completamente, può qualcuno ti aiuta?

risposta

3

Sei sicuro che resultTextView.text restituisca una copia del backing store e non lo stesso NSString* utilizzato per archiviare i dati? Guardando la documentazione di Apple, sembra probabile che stia solo restituendo il puntatore interno (non trattenuto). Chiamare la versione su una stringa utilizzata dalla classe UITextView potrebbe causare questo comportamento.

+0

Estrarre [messaggio di rilascio] funziona alla grande; Saluti. – Boz

3

si sta inviando -release ad un oggetto che hai fatto non è (o almeno, che non sembra di avere, dalla snippit) prima -retain, +alloc o ottenere attraverso -copy ing un altro oggetto.

Problemi correlati