Objective c 仅包含C的ObjC文件(或最小ObjC..)

Objective c 仅包含C的ObjC文件(或最小ObjC..),objective-c,c,Objective C,C,我经常会启动一个小的“helper类”,发现我可以用C函数完全满足我的需求(尽管这些函数中可能经常有ObjC,可能是返回类型或NSDictionary*的一些参数,或者其他任何东西),因此我会删除@implementation和@interface,而那里根本没有类,只有.h和.m文件 最好的做法是什么?我应该将.m文件更改为.c文件吗?或者,对于ObjectiveC类型,这是不可能的/困难的?使用我不知道的不同文件类型有什么好处,或者我现在做的很好?(我只为OsX和iOS开发,至少目前完全使用

我经常会启动一个小的“helper类”,发现我可以用C函数完全满足我的需求(尽管这些函数中可能经常有ObjC,可能是返回类型或NSDictionary*的一些参数,或者其他任何东西),因此我会删除@implementation和@interface,而那里根本没有类,只有.h和.m文件

最好的做法是什么?我应该将.m文件更改为.c文件吗?或者,对于ObjectiveC类型,这是不可能的/困难的?使用我不知道的不同文件类型有什么好处,或者我现在做的很好?(我只为OsX和iOS开发,至少目前完全使用xCode。)


感谢您的时间:)

当您使用Xcode创建命令行工具时,它会为您的代码提供一个.m文件,尽管初始文件不是类实现文件,因此最好遵循此模式(对于其他项目中的主文件也是如此)


如果您在Xcode中选择了一个文件并打开了右边的栏,那么您可以让Xcode知道如何解析该文件。因此,如果在.c文件中有ObjectiveC,可以将解析类型从c文件更改为ObjC文件,所有这些都将正常工作

谢谢你,詹姆斯。它确实类似于main.m文件,它只是一个c函数,但在该函数中有一个appDelegate对象。很好,我想我正在做苹果公司做的事情,你得到了points mate,thanksAn“object file”是一个编译的源文件,输入到链接器,并使用“.o”扩展名。您可能指的是类实现文件(扩展名为“.m”)。不要求Objective-C源文件(.m)包含类接口或实现。如果代码使用Objto-C语言,那么它是Objto-C源文件,应该用.m扩展名来命名。也许您可以考虑使用类方法而不是函数。谢谢。从这个问题上你是否理解,我认为这是一个起点?我有几个iOs应用程序,它们已经过审查并通过了AppStore的销售,其中包含的.m文件中只有C函数。我知道它是有效的,问题是关于实现文件类型。谢谢你的意见,我非常感谢:)