使用NSUserDefaults存储NSTextView的内容

时间:2011-08-04 09:24:52

标签: cocoa nsuserdefaults

我一直在玩Apple的示例代码 - UserDefaults - http://developer.apple.com/library/mac/#samplecode/UserDefaults/Introduction/Intro.html - 我无法使用NSTextView实例并删除记录按钮,因此我想知道如何获取NSUserDefaults以自动存储NSTextView的内容。

提前致谢!

1 个答案:

答案 0 :(得分: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

修改

已移除synchronize