我会定义一些辅助函数,我更喜欢用C代替Objective-C。
在Objective C项目中添加标头和实现C文件的“最佳实践”是什么?
如果我需要在我的函数中使用Objective-c定义,我需要在头文件C文件中包含什么(UIKit?)?
示例:我想为NSString创建NSLog的快捷方式,我可以在我的C文件中创建类似于此代码的东西吗? :
void MYLog (NSString *string){
NSLog(@"%@",string);
}
答案 0 :(得分:2)
如果您的源文件编译为c / obj-c代码(扩展名为.m或在xcode中手动设置类型),请确保您可以在c代码中使用objective-c函数(反之亦然)
为了使核心功能有效,我认为导入<Foundation/Foundation.h>
和<UIKit/UIKit.h>
就足够了。这些标题可能已经导入您的预编译标题(* .pch文件)中,因此您甚至可能不需要导入它们。
如果你想扩展一些UIKit类的功能,还要考虑实现自定义类类,而不是使用普通的c函数。
答案 1 :(得分:0)
你可以很容易地做到这一点。您不必导入任何内容,因为前缀标头已导入UIKit
和Foundation
。记录器功能如下所示:
// Logger.h
void MyLog(NSString *str);
// Logger.m
#import "Logger.h"
void MyLog(NSString *str) {…}