2009-09-07 5 views
6

このコードは、[[UIPasteboard generalPasteboard] string]オブジェクトとして文字列をgeneralPasteboardにコピーする必要がありますが、このメソッドによってプログラムが終了します。UIPasteboard - テキストをコピーできません

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

は私がすることができます、私は完全には理解していない...メソッドは、メッセージが文字列リテラルに設定されている場合に動作しますが、resultTextView.textはただのNSStringあるとして、それが見て、フォーマットとは何かだと思います誰も助けてくれる?

答えて

3

resultTextView.textはバッキングストアのコピーを返していますが、実際にはデータの格納にはNSString*が使用されていませんか? Appleのドキュメントを見てみると、内部ポインタ(返されていない)を返しているようだ。 UITextViewクラスで使用されている文字列のリリースを呼び出すと、この現象が発生する可能性があります。

+0

[メッセージのリリース]を実行すると効果的です。乾杯。 – Boz

3

あなたはなかったオブジェクトに-releaseを送信する(あるいは、少なくとも、あなたがsnippitから、持って表示されません)最初-retain+allocまたは-copyが別のオブジェクトをINGのを介して取得しています。

関連する問題