2011-08-04 8 views

答えて

0

自動的に保存する方法はありません。ここでNSTextViewをサブクラス化することで内容を保存する簡単な方法があります:

@interface myTextView : NSTextView 
@end 

@implementation myTextView 

- (void)awakeFromNib 
{ 
    NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults]; 
    NSString *string = nil; 
    if (userDefaults) 
     string = [userDefaults objectForKey:@"Prefs"]; 
    if ([string length]) 
     [self setString:string]; 
} 

- (void)didChangeText 
{ 
    NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults]; 

    if (userDefaults) { 
     [userDefaults setObject:[self string] forKey:@"Prefs"]; 
    } 
} 

@end 

EDIT

synchronizeを削除しました。

+0

お待ちください。これを示すソースはありますか?あなたのお時間をありがとう! –

+0

'synchronize'はここのように呼び出されるべきではありません。 *同期メソッドは自動的に定期的に呼び出され、ユーザーのデフォルトデータベースと同期してメモリ内のキャッシュを保持します* *:*このメソッド( 'synchronize')は定期的に呼び出されるため自動同期が完了するのを待つことができない場合(たとえば、アプリケーションが終了しようとしている場合など)、または変更を加えていなくてもユーザーのデフォルト値をディスク上に更新する場合にのみ、このメソッドを使用します。 – nacho4d

+0

Ok ...どこかの代替コードや実例をお勧めできますか? –

関連する問題