私は最近同様の問題がありました(私のインターフェースは更新されていないようです)。 windowControllerDidLoadNib:またはawakeFromNibでインターフェースを更新していますか?ドキュメントが元に戻ったとき(最後に保存した状態に戻すか、バージョンブラウザでバージョンを選択したとき)、windowControllerDidLoadNib:はドキュメントが既に読み込まれているが、ファイルラッパーメソッドが呼び出されるため、再度呼び出されません。
これが最善の解決策であるかどうかはわかりませんが、ドキュメントを元に戻す場合にのみ読み込みラッパーメソッドでUIを更新してください。私はアウトレット(テキストビューのような)が無しでないかどうかをチェックすることでこれを行います。
更新:ofType:エラー:
よりよい解決策は-revertToContentsOfURLをオーバーライドしている
- (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にストレージ内のテキストを変更し、テキストビューを再ロードしていますよ。あなたはそれがゼロかどうかを確認するために何を確認しましたか? – DexterW
最後に私が間違っていたことが分かった。ありがとう。 – DexterW
より良い答えで更新されました。 – Zorg