Mac:将信息保存到文件而不修改日期戳
Mac OS X 人机界面指南在有关 Windows 的部分中说道:
请注意,如果用户打开、移动和关闭文档窗口而不进行任何其他更改,您应该保存新的窗口位置,但不应修改文件的日期戳。
我们该怎么做呢?如果我有一个基于文档的应用程序,并且我想在文件中保存文档窗口的位置和大小(而不触及其日期戳),我会覆盖 dataOfType:error
等。但是,只要我可以看出,所有这些都会自动修改文件的日期戳。
我认为只有一种方法可以做到这一点,而且这是一种黑客:使用 NSFileManager 临时保存文件的旧日期戳,保存窗口在文件中的位置,然后使用 setAttributes :ofItemAtPath:error 将其改回来。
有更好的办法吗?当然,如果这是一个常见的任务......
The Mac OS X Human Interface Guidelines says in their section about windows:
Note that if a user opens, moves, and closes a document window without making any other changes, you should save the new window position but you should not modify the file’s date stamp.
How are we supposed to do this? If I have a document-based application and I want to save documents’ windows’ positions and sizes in their files—without touching their date stamps—I override dataOfType:error
, etc. But, as far as I can tell, all of these automatically modify the file’s date stamp.
There’s only one way I see to do this, and it’s kind of a hack: use NSFileManager
to temporarily save the file’s old date stamp, save the window’s position in the file, and then use setAttributes:ofItemAtPath:error
to change it back.
Is there a better way? Surely if it’s a common task...
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
将窗口的位置而不是文档保存在 NSUserDefaults 中怎么样?
How about saving the window's position in NSUserDefaults instead of the document?