为啥 Xcode 自动补全在导入时会提示 .m 文件?

Posted

技术标签:

【中文标题】为啥 Xcode 自动补全在导入时会提示 .m 文件?【英文标题】:Why does Xcode autocompletion suggest .m files when importing?为什么 Xcode 自动补全在导入时会提示 .m 文件? 【发布时间】:2014-07-29 14:11:07 【问题描述】:

只是想知道-

当你开始输入#import "

Xcode 建议 .m 文件和 .h 文件。在错误地导入.m 文件后,我只有几个小时的挫败感。

这是一个糟糕的设计吗?可以导入.m 文件吗?

【问题讨论】:

肯定是糟糕的设计,即使语言允许。 auto-anything 应该排除边缘情况。浏览所有编写过的代码,并计算除标题以外的事物的导入百分比。 1%?少一点? 因为它不是很聪明。您当然可以导入 .m 文件,在某些情况下这是有意义的,但这种情况很少见。 【参考方案1】:

您可以导入任何文件。 #import 只是一个预处理器指令,基本上说“将我告诉你的文件的内容包含到当前文件中”。也有一些包含守卫,但导入就是这样做的 - 它会导入您告诉它的文件。

除非有一些 C/C++ 标准另有说明,否则使用 .h 文件导入标头可能更方便/约定(请不要为此打败我,我只是在猜测)。

【讨论】:

导入标头而不是实现文件可以避免重新定义那里的所有内容。重新声明(在头文件中做了什么)很好,但是通过在任何地方包含它来多次定义某些东西(如在实现文件中所做的)会导致冲突。

以上是关于为啥 Xcode 自动补全在导入时会提示 .m 文件?的主要内容,如果未能解决你的问题,请参考以下文章

如何让 js 补全在 HTML 文件中自动弹出?

XCode 提示自动补全的速度很慢

vscode自动补全c++

为啥有时PyCharm会无法完成代码补全或代码提示

为啥 Xcode 在创建类时会生成“不必要的”代码?

为啥我的Intellij Idea的代码补全中没有object