Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cocoa 从OSX lion上的浏览器版本还原不工作。。。思想?_Cocoa_Nstextview_Osx Lion_Autosave - Fatal编程技术网

Cocoa 从OSX lion上的浏览器版本还原不工作。。。思想?

Cocoa 从OSX lion上的浏览器版本还原不工作。。。思想?,cocoa,nstextview,osx-lion,autosave,Cocoa,Nstextview,Osx Lion,Autosave,我正在尝试从Lion上的早期版本还原基于文档的应用程序。当我选择“还原版本”时,文本视图不会反映更改。但是,如果我关闭应用程序并重新打开,更改就会出现 我正在使用NSDocument的文件包装器变体,那么如何使文本视图的文本存储反映立即选择的版本呢?我遗漏了什么吗?我最近也遇到了类似的问题(我的界面似乎没有更新)。您是在WindowControllerdLoadNib:中更新界面还是在awakeFromNib中更新界面?还原文档(还原为上次保存的文档,或在版本浏览器中选择一个版本)时,不会再次调

我正在尝试从Lion上的早期版本还原基于文档的应用程序。当我选择“还原版本”时,文本视图不会反映更改。但是,如果我关闭应用程序并重新打开,更改就会出现


我正在使用NSDocument的文件包装器变体,那么如何使文本视图的文本存储反映立即选择的版本呢?我遗漏了什么吗?

我最近也遇到了类似的问题(我的界面似乎没有更新)。您是在WindowControllerdLoadNib:中更新界面还是在awakeFromNib中更新界面?还原文档(还原为上次保存的文档,或在版本浏览器中选择一个版本)时,不会再次调用windowControllerDidLoadNib:,因为文档已加载,但您的文件包装方法将被调用

我不确定这是否是最好的解决方案,但我要做的是仅当文档被还原时才更新read wrapper方法中的UI。我通过检查一个插座(比如你的textview)是否为零来实现这一点

更新:

更好的解决方案是重写-revertToContentsOfURL:ofType:error:

- (BOOL)revertToContentsOfURL:(NSURL *)absoluteURL ofType:(NSString *)typeName error:(NSError * __autoreleasing *)outError
{
    BOOL reverted = [super revertToContentsOfURL:absoluteURL ofType:typeName error:outError];
    if (reverted)
    {
        // re-update interface
    }
    return reverted;
}

我最近也遇到了类似的问题(我的界面似乎没有更新)。您是在WindowControllerdLoadNib:中更新界面还是在awakeFromNib中更新界面?还原文档(还原为上次保存的文档,或在版本浏览器中选择一个版本)时,不会再次调用windowControllerDidLoadNib:,因为文档已加载,但您的文件包装方法将被调用

我不确定这是否是最好的解决方案,但我要做的是仅当文档被还原时才更新read wrapper方法中的UI。我通过检查一个插座(比如你的textview)是否为零来实现这一点

更新:

更好的解决方案是重写-revertToContentsOfURL:ofType:error:

- (BOOL)revertToContentsOfURL:(NSURL *)absoluteURL ofType:(NSString *)typeName error:(NSError * __autoreleasing *)outError
{
    BOOL reverted = [super revertToContentsOfURL:absoluteURL ofType:typeName error:outError];
    if (reverted)
    {
        // re-update interface
    }
    return reverted;
}

我正在更改readFromFileWrapper中存储区中的文本,并重新加载文本视图。你检查了什么以查看它是否为零?更新了一个更好的答案。我正在更改readFromFileWrapper中存储的文本并重新加载文本视图。你检查了什么,看它是否为零?更新了一个更好的答案。