为啥 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 文件?的主要内容,如果未能解决你的问题,请参考以下文章