コード設計の観点から、コンテンツが頻繁に変更されることを意図しているときに、の内部実装が をUITextView
使用するNSString
のに を使用しないのはなぜですか?NSMutableString
3 に答える
0
もちろん、それが指すものを変更できない理由はありません! メンバーは単なるポインターであるため、NSMutableString
必要に応じて文字列を自分自身に置き換えることができます。
ビューに大量のテキストを追加する場合は、これがより効率的な方法です。
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
[myTextView setText:[[NSMutableString alloc] init]];
}
return self;
}
@Guffaが彼の答えで説明したように、そうしないと、ビューはそれ自体を再描画することを認識しないため、setTextを必ず呼び出してください。
- (void)appendText:(NSString*)text
{
NSMutableString *dispText = (NSMutableString*)[myTextView text];
[dispText appendString:text];
[myTextView setText:dispText]; // notify myTextView of text change!
}
于 2013-04-21T01:23:58.937 に答える