首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

NSPersistentDocument 的数据存储何时移动到最终保存位置?

在 macOS 应用程序中,NSPersistentDocument 类用于实现基于 Core Data 的文档。当文档数据需要保存到最终位置时,系统会自动处理数据的移动。

具体来说,当文档数据需要保存到最终位置时,NSPersistentDocument 会将数据从临时位置移动到最终位置。这个过程通常在以下情况发生:

  1. 当用户选择保存文档时。
  2. 当用户关闭文档时。
  3. 当用户执行撤销操作时。

在这个过程中,NSPersistentDocument 会自动处理数据的移动,并在必要时更新文档的元数据。

需要注意的是,NSPersistentDocument 类的具体实现可能因应用程序而异,因此具体的数据移动时机和方式可能会有所不同。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

【愚公系列】软考高级-架构设计师 008-存储技术(磁盘)

与主存相比,外存储器提供了更大存储容量和持久存储能力,但访问速度较慢。外存储器主要用于保存不需要立即访问数据,以及在系统关闭后仍需要保留信息。...成本效益:相比于RAM,外存储器通常提供更高成本效益,特别是对于大量数据存储需求。 数据备份和共享:外存储器常用于数据备份和共享,便于数据长期保存和在不同设备间传输。...持久性:数据被永久保存在磁盘上,即使在断电情况下也不会丢失。 成本效益:与固态驱动器相比,硬盘驱动器通常提供更低成本per GB,使其成为大容量数据存储经济选择。...首先,磁头需要移动到目标柱面上(臂调度),然后等待磁盘旋转,使目标扇区旋转到磁头下方(旋转调度)以进行数据读写。 D. 在访问同一磁道信息时,只需要进行臂调度: 这个说法不正确。...这反映了磁盘访问过程中自然顺序,首先是磁头移动到正确柱面上,然后磁盘旋转到正确位置以访问数据。这个过程是优化磁盘访问时间和提高磁盘I/O性能关键。

8800

Vim编辑器常用快捷键

:重新加载当前文档,并丢弃已做改动 :w:保存修改。 :wq:保存退出,即使文件没有被修改也强制写入,并更新文件修改时间 ZZ:保存退出。...h或者退格: 左移一个字符;l或者空格: 右移一个字符;j: 下移一行;k: 上一行;gj: 移动到一段内下一行;gk: 移动到一段内上一行;+或者Enter: 把光标移至下一行第一个非空白字符。...w: 前一个单词,光标停在下一个单词开头;W: 移动下一个单词开头,但忽略一些标点;e: 前一个单词,光标停在下一个单词末尾;E: 移动到下一个单词末尾,如果词尾有标点,则移动到标点;b: 后移一个单词...d: 删除(剪切)在可视模式下选中文本。d或者D: 删除(剪切)当前位置到行尾内容。d0: 删除(剪切)当前位置到行首内容d1G或者dgg: 剪切光标以上所有行。dG: 剪切光标以下所有行。...y: 复制在可视模式下选中文本。yy或者Y: 复制整行文本。y: 从光标当前位置复制到行尾。y0: 从光标当前位置复制到行首。y1G或ygg: 复制光标以上所有行。yG: 复制光标以下所有行。

3.2K20

Vim命令使用说明

:n1,n2w filename – 选择性保存从某n1行到另n2行内容。 :wq – 保存并退出。 ZZ – 保存并退出。 :x – 保存并退出。...w: 前一个单词,光标停在下一个单词开头; W: 移动下一个单词开头,但忽略一些标点; e: 前一个单词,光标停在下一个单词末尾; E: 移动到下一个单词末尾,如果词尾有标点,则移动到标点; b:...n%: 到文件n%位置。 zz: 将当前行移动到屏幕中央。 zt: 将当前行移动到屏幕顶端。 zb: 将当前行移动到屏幕底端 标记 使用标记可以快速移动。...m{A-Z}: 标记光标所在位置,全局标记。标记之后,退出Vim, 重新启动,标记仍然有效。 `{a-z}: 移动到标记位置。 ‘{a-z}: 移动到标记行行首。...`{0-9}:回到上[2-10]次关闭vim时最后离开位置。 : 移动到上次编辑位置。''也可以,不过精确到列,而'‘精确到行 。如果想跳转到更老位置,可以按C-o,跳转到更新位置用C-i。

2.5K10

IdeaVim 基本操作

ge 后移一个单词,光标停在上一个单词末尾 { 前1段 } 后移1段 上面的操作都可以配合n使用,比如在正常模式下输入3h,则光标向左移动3个字符 快捷键 含义 0 移动到行首 $ 移动到行尾...zz 将当前行移动到屏幕中央 zt 将当前行移动到屏幕顶端 zb 将当前行移动到屏幕底端 文本插入 基本插入 快捷键 含义 i 在光标前插入 a 在光标后插入 I 在当前行第一个非空字符前插入 A...y[n]w 复制一(n)个词 y[n]l 复制光标右边1(n)个字符 y[n]h 复制光标左边1(n)个字符 y$ 从光标当前位置复制到行尾 y0 从光标当前位置复制到行首 :m,ny 复制m行到n行内容...(剪切)当前位置到行尾内容 d[n]w 删除(剪切)1(n)个单词 d[n]l 删除(剪切)光标右边1(n)个字符 d[n]h 删除(剪切)光标左边1(n)个字符 d0 删除(剪切)当前位置到行首内容...本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

2.1K30

数据结构学习-python实现-数据排序--0411

数据为何要排序?首先想到是排序数据能够更加便于观察,并更好使用查找算法,降低复杂度。 数据排序算法很多,由简单到复杂,逐渐深入。 # 冒泡法排序。每次从所有的数据项中,将最大数据动到最后。...def bubblesort(alist): for passnum in range(len(alist)-1, 0, -1): # 此次数据最终位置,即数据尾部 for...原因是数据均匀,无天然形成顺序数据,反而 # 增加了判断交换步骤,导致变得复杂。 # 选择排序,与冒泡排序方法相同,每趟记录最大项下标位置,与最后一个值交换。并不需要每步都交换。...for index in range(1, len(alist)): currentvalue = alist[index] # 保存当前值为临时变量,因为它位置由于插空,将被占用。...alist[position] = alist[position-1] # 较大值后移过程 position = position -1 # 空位前过程

34200

Linux-vim

2. vim常用命令 2.1 一般模式中命令 2.1.1 光标移动 命令 说明 h,← 光标左移一个字符 j,↓ 光标下移一个字符 k,↑ 光标上一个字符 l,→ 光标右移一个字符 n[h,j,k,...M 光标移动到屏幕中央一行第一个字符 L 光标移动到屏幕最后一行第一个字符 G 光标移动到文件最后一行 nG n为数字,光标移动到文件第n行 gg 光标移动到文件第一行,相当于1G n<Enter...复制光标所在行到第n行 yG 复制光标所在行到最后一行 y0 复制光标所在字符到该行行首 y$ 复制光标所在行到该行行尾 p 将复制数据粘贴在光标下一行 P 将复制数据粘贴在光标上一行 J 将光标所在行与下一行数据合并成一行...命令 说明 :w 将编辑数据写入硬盘 :w!...强制保存并离开 ZZ 若文件没有改动,则不保存离开,如果文件有改动,则保存后离开 :w[filename] 将文件另存为filename :r[filename] 在光标处插入另一个文件数据 :n1,

6.2K11

vim编辑器操作汇总

命令行模式   任何时候,不管用户处于何种模式,只要按一下ESC键,即可使Vi进入命令模式;我们在shell环境(提示符为$)下输入启动Vi命令,进入编辑器时,也是处于该模式下。...在该模式下,用户输入任何字符都被Vi当做文件内容保存起来,并将其显示在屏幕上。在文本输入过程中,若想回到命令模式下,按键ESC即可。 末行模式   末行模式也称ex转义模式。...l: 右移 M: 光标移动到中间行 L: 光标移动到屏幕最后一行行首 G: 移动到指定行,行号 -G w: 向后一次移动一个字 b: 向前一次移动一个字 {: 按段移动,上 }: 按段移动...,不包含光标所在字符 dw: 删除光标开始位置字,包含光标所在字符 撤销命令: u: 一步一步撤销 Ctr-r: 反撤销 重复命令: .: 重复上一次操作命令 文本行移动: >>: 文本行右移...<<: 文本行左移 复制粘贴: yy: 复制当前行,n yy 复制 n 行 p: 在光标所在位置向下新开辟一行,粘贴 可视模式: v: 按字符移动,选中文本 V: 按行移动,选中文本可视模式可以配合

1.4K70

【IOS开发高级系列】CoreData专题

NSManagedObjectContext 常用方法 -save:将数据对象保存数据文件 -objectWithID:查询指定 Managed Object ID 数据对象 -deleteObject...:由于 Context 可以管理从不同数据文件而来数据对象,这个接口作用就是指定数据对象存储数据文件(通过指定 PersistantStore 实现) -executeFetchRequest:...NSPersistentStoreCoordinator 常用方法 -addPersistentStoreForURL:configuration:URL:options:error: 装载数据存储,对应卸载数据存储接口为...as"相似,但是操作成功后,迁移前数据存储不可再使用 -managedObjectIDForURIRepresentation: 返回给定 URL所指示数据存储 object id,如果找不到匹配数据存储则返回...通常使用NSPersistentDocument 默认实现就足够了,它从 Info.plist 中读取 Document types 信息来决定数据存储格式(xml,sqlite, binary)。

41350

导航栏滚动吸顶并自动高亮和点击跳转锚点

2021-01-16 07:37:33 在阿里云云市场页面上有一个效果,就是api导航栏当滚动条滚动到其所在位置时,自动吸顶,当滚动到下方所在导航栏指定介绍时,自动高亮其导航栏。...实现方法 正常情况下我们点击自动定位到其所在位置一般用id锚点方式,但是这种方式有一个缺陷就是无法实现滚动条缓动效果,而且带url上还会通过hash方式显示出ID,另外也无法实现滚动到内容所在位置自动高亮导航栏...,另外增加了一个class为zhanfIx地址,因为当导航栏吸顶时,此处会因为空出位置,下面内容上,而产生不和谐效果,我们需要在其吸顶同时增加一个div来占位,以增加平滑效果。...下面我们来看一下导航栏吸顶和滑动到指定位置导航栏高亮逻辑。...,同时点击导航栏滚动条缓动至锚点位置,实现最终效果可以看阿里云市场详情页中效果,比他显示效果多了滚动条缓动效果。

10.3K40

用 testdisk 恢复 Linux 上已删除文件

除非你用 shred 等工具把它擦掉,否则数据仍然会放在你磁盘上 —— 而恢复已删除文件最佳工具之一 testdisk 可以帮助你拯救它。...一旦文件被成功地还原和验证,就可以将它们回它们所属位置,并将它们所有权也恢复。...下一步是选择被删除文件所存储磁盘分区(如果没有高亮显示的话)。根据需要使用上下箭头移动到它。然后点两次右箭头,当 “Proceed” 高亮显示时按回车键。...(参见前面的说明,在将文件回原点之前,先在一个合适地方进行检查)。...在将文件回原来位置之前,你可能应该先验证恢复文件看起来是否正确。确保你也恢复了原来所有者和组,因为此时文件由 root 拥有。

6.4K20

vim命令快捷键

Vim是一款文本编辑器,经常被程序员使用,也是Linux系统中常用编辑器之一。它以快速、高效、灵活而著称,由于其强大快捷键功能,可以使用户在编辑文本时更快更高效。...光标移动 h - 光标左移 j - 光标下移 k - 光标上 l - 光标右移 0 - 移动到行首 $ - 移动到行末 w - 向前移动一个单词 b - 向后移动一个单词 gg - 移动到文件开头...G - 移动到文件末尾 编辑 i - 进入插入模式,在光标处插入文本 a - 在光标后插入文本 o - 在光标下方新开一行 O - 在光标上方新开一行 x - 删除光标所在位置字符 dd - 删除整行...保存和退出 :w - 保存文件 :wq - 保存并退出 :q!...+ g - 显示当前文件状态信息 Ctrl + o - 回到上一个位置 Ctrl + r - 重做上一个操作 Ctrl + x + Ctrl + n - 自动补全 :help - 查看帮助信息

1.2K40

快速上手 Mac 电脑

触摸板操作 打开系统偏好设置-触控板选项查看学习常用操作 双指触控实现鼠标右键功能 建议打开轻点来点按,和 win 操作相同 系统偏好设置-辅助功能-指针控制-触控板选项-启用拖-三指拖:单手三指拖文件...command + x 对于文件: 多选:按住 command 再选择 复制一个副本:command + d 复制:command + c 粘贴:command + v 剪切:先 command + c 要剪切文件...,再 command + option + v 对应位置 保存:command + s 撤销:command + z 撤销上一步撤销:command + shift + z 屏幕操作 Mac 程序窗口最大化相当于新建了一个桌面...command + t 切换标签页:control + tab 关闭当前标签页: command + w 切分窗口:command + d 清屏:command + k 清除命令行:command + u 光标移动到行开头...:control + a 光标移动到行结尾:control + e

13610

《重构》第十一章 - 读后感(处理概括关系)

看到概括关系这个词,我也挺疑惑,仔细一看居然表达是继承关系,那么处理概括关系就是说处理继承关系。继承关系的话必然有属性和方法等,那么这块处理概括关系就是说处理继承关系中属性或者方法存在位置。...1.字段上 两个子类有相同字段,那么就该字段移到父类中! 2.函数上 有些函数在各个子类中产生完全相同结果,将该函数移动到超类!避免行为重复是很重要,尽管重复自身只会成为错误源泉。...3.构造函数本体上 如果在各个子类中拥有一些构造函数,他们本体几乎完全一致,在超类中新建一个构造函数,并在子类构造函数中调用它。...11.以委托取代继承 某个子类只使用超类接口一部分,或者根本不需要继承而来数据,那么在子类中新建一个字段用来保存超类,调整子类函数,使它改为委托超类;然后去掉两者之间继承关系。...意思是我们继承一个类,然后这个类根本没啥用,主要是其数据我们使用不到,那么就新建一个属性,将父类对象设置进去。然后去掉继承关系。

64030

【盟友分享】vim学习之路-vim基本操作

文件操作: :e filename 心打开一个文件 :w 保存文件 :wq 保存并退出文件 :q 退出文件 :!...q 强制退出文件 vim中不同保存退出是有区别的 :x 写入文件并退出(仅当文件被修改时才写入,并更新文件和修改时间;否则不会更新文件修改时间) :wq和ZZ 强制写入并退出(文件没有被修改也强制写入...,并更新文件修改时间) 操作回退和恢复: u 回退到上一次操作 U 本行改动恢复 ctrl+r 与u操作相反操作 移动操作: j 下移一行 k 上一行 h 左移一列 l 右移一列 0...移动到开头 $ 移动到结尾 w 移动到下一个单词开头 e 移动到下一个单词结尾 fx 移动到本行之后第一个出现x字母位置 tx 移动到本行之后第一个出现x字母前一个位置 gg 跳到文件首 G 跳到文件尾...zz把当前位置处于屏幕正中央。 zt 把当前位置处于屏幕顶端。助记:top。 zb 把当前位置处于屏幕底端。助记:bottom。

2K60

vim常用命令详解(vim使用教程)

patterns具体内容我没有看过,但是正常情况下,你只要输如你想找内容就好了 命令 vim +/诙谐 a.txt 运行结果如下:绿色位置为光标的初始位置,暗黄色位置为所有匹配到文字 -b...使用/进入末行模式主要用来查找字符串,在下面进行详细解释 正常模式必要命令详解 h #左移一个字符 l #右移一个字符 j #下移一行 k #上一行 dd #删除一整行...0 #移动到行首 g0 #移动到当前屏幕行首 H #把光标移动到屏幕最顶端一行 M #把光标移动到屏幕中间一行 L #把光标移动到屏幕最底端一行 gg #移动到文件头部...位置 zz #将当前行移动到屏幕中央 zt #将当前行移动到屏幕顶端 zb #将当前行移动到屏幕底端 末行模式常用命令详解 :q #退出当前文件且不保存,q为quit缩写 :q...#对于只读文件可强制保存更改 :wq #保存并退出 :r filename #在当前位置插入令一个文件 :r !date #在当前位置插入当前日期 :r !

3.1K30

【集创赛】arm杯国奖作品推荐--技术文档!

ITCM相当于代码区(CODE区,起始于0x0地址)硬件实现,主要是采用FPGABRAM资源实现存储区域,用来保存编译好处理器操作指令,以供I-CODE和D-CODE总线访问。...在所有窗结束后,记录到的人脸位置将被检查是否存在重叠、重复记录情况。检查完毕后,将得到最终的人脸数目及位置信息。...图4.2 多线程窗并行加速器框架 4.3.1 加速器数据流动 为了尽可能减短数据传输路径,我们把窗并行加速器直接接在DDR上,所有待处理输入数据都不会经过Cortex-M3处理器,加速器将从片上存储模块...常规窗操作是逐个位置依次进行,即只有在一步窗运算结束后,才进行下一步窗,同时运行下一次级联决策树运算。...图4.3展示了单线程窗和多线程区别,在多线程窗模式下,加速器可以同时处理多个位置检测任务,从而极大提高了人脸检测速度。 ?

1.6K10

虚拟化平台上远程连接遇到几个问题分析

如果鼠标从point1(x1,y1)移动到point2(x2,y2),如果画图响应很快,那么在显示器上看到鼠标就移动到对应位置上,如果画图很慢,就会看到鼠标是一顿一顿动到位置上。...3,鼠标速不一致 在vnc上,是一个常见问题。可以看到虚拟机里面的鼠标和外面物理机上鼠标的位置不一致,而且它们速不一致。在外面移动了很大一段距离,在虚拟机里面只是移动了一小段。...tablet并不是从本质上解决鼠标的速问题,而且通过tablet校验,修改了数据。而且,这种方法在windows上表现比较好。 4,鼠标不重合 在webvnc上,这个问题比较常见。...表现出来现象是,鼠标在物理机上,和虚拟机里面的速是一致,但是始终相差一段距离。 因为vnc内容是通过web view实现,web在计算鼠标的位置x,y时候,是从view起始地址开始计算。...算下来,整个路径还是挺长。而且没有太多改进空间。物理机上鼠标已经移动到了新位置,但是web上内容需要经过这么长路径才能更新出来。所以就看到了鼠标拖影。

6K80

SD NAND应用存储功能描述(5)数据传输

主机发出SEND_CSD (CMD9)以获取卡片特定数据(CSD寄存器),例如块长度,卡片存储容量等。广播命令SET_DSR (CMD4)配置所有标识卡驱动阶段。...在给定时间内,只能有一张卡处于转移状态。如果先前选择的卡处于转移状态,则它与主机连接将被释放,并且它将回备用状态。...各种数据传输模式之间关系总结如下:所有的数据读取命令都可以在任何时候通过stop命令(CMD12)终止。数据传输将终止,卡将返回到传输状态。...一旦数据传输完成,卡将退出数据写入状态,并移动到编程状态(传输成功)或传输状态(传输失败)。如果停止块写操作,并且最后一块块长度和CRC有效,则将对数据进行编程。该卡可以为块写入提供缓冲。...在这种情况下,卡将移动到编程状态并重新激活忙指示。重置卡(使用CMDO或CMD15)将终止任何挂起或正在进行编程操作。这可能会破坏卡上数据内容。主人有责任防止这种情况发生。

4810

【总结】vim命令使用总结,该来还是躲不掉啊晕

比如按下i,该模式下用户输入任何字符都被作为文件内容保存起来,如果想返回 Normal 模式,请按ESC键。...命令大全,最详细(建议收藏) 光标的移动 h - 左移光标 j - 下移光标 k - 上光标 l - 右移光标 gj - 下移光标(折行文本) gk - 上光标(折行文本) H - 移动到当前页面顶部...- 移动到文件第一行 G - 移动到文件最后一行 5gg or 5G - 移动到第五行 gd - 跳转到局部定义 gD - 跳转到全局定义 fx - 移动到字符 x 下次出现位置 tx - 移动到字符...x 下次出现位置前一个字符 Fx - 移动到字符 x 上次出现位置 Tx - 移动到字符 x 上次出现位置后一个字符 ; - 重复之前f、t、F、T操作 , - 反向重复之前f、t、F、..."+y - 复制内容到系统剪贴板寄存器 "+p - 粘贴系统剪贴板寄存器内容 注:寄存器被存储在 ~/.viminfo 中, 在下次重启vim时仍会加载 特殊寄存器  0 - 上次复制  " -

49721
领券