Xcode 引用文件的旧副本

Xcode referencing old copies of files

我对某些文件中的代码所做的更改被 Xcode 忽略了。我已将其追溯到 Xcode 以某种方式保留其自己的旧版本代码文件的事实......这些 older/duplicate 文件未在项目的 Finder window 中的任何位置显示文件夹并在使用 "Clean" 和 "Clean Build Folder" 清理项目、关闭 Xcode 并重新启动计算机后保留。

让我试着解释一下:

我有一个名为 QuestionPicker.h 的文件和一个对应的 QuestionPicker.m

当我对其中任何一个中的代码进行更改时,Xcode 没有注意到任何更改,并继续在这些文件中使用旧版本的代码。

当我"Alt-click"看到声明时:

然后单击显示的 QuestionPicker.h,它会将我带到我对其进行更改之前的文件的 "nonexistent" 旧版本。当我查看 header 栏时,此文件并未显示为我的项目的一部分,而更像是一个独立的文件:

如果我在 Project Navigator 中单击真正的 QuestionPicker.h,它会显示我最近对代码所做的更改,并且 header 栏会显示该文件作为我项目整体代码库的一部分:

我可以做的有趣的一件事是 select 并复制我的 QuestionPicker.h 文件中的所有代码并进行更改,从 "Alt-click" 声明中打开 old-copy-somehow-persisting-version,并将代码粘贴到那里。这并没有解决根本问题,只是将我的更改添加到 Xcode 不应该使用的文件的错误旧版本中。如果我能够在 .m 实现文件中执行相同的操作,我可能能够继续使用此 hack 进行编码,除非我无法进入 .m 文件的 old-copy-somehow-persisting-version,因为它不存在Project Navigator 中的任何位置、项目的 Finder window 或我可以访问的任何其他位置。

有什么想法吗?有什么帮助吗?非常感谢!

Xcode 不保留源文件,它只是指向它们。很可能您正在编辑的副本 Xcode 未使用。

在 Xcode 中检查它正在使用的文件的位置: