ODStringify
用法
使用 ODStringify,您可以使用一个函数从类、属性、定义和函数生成字符串。安全可靠。并且所有事情都将在编译时完成。不再有运行时开销和诸如 NSStringFromClass(尽管对于此函数来说非常小)之类的调用。
首先,您可以生成定义值字符串。这太疯狂了。例如:
#define MAX_NUMBER_OF_SOMETHING 10
#define DEFAULT_HI_STRING @"hello"
NSLog(@"Hi string:%@", ODStringify(DEFAULT_HI_STRING)); // > @"hello" (@"@\"hello\"")
NSLog(@"Max number:%@", ODStringify(MAX_NUMBER_OF_SOMETHING)); // > 10 (@"10")
ODStringifyClass
编译时类型检查的类名字符串。
NSLog(@"Valid class:%@", ODStringifyClass(AppDelegate)); // AppDelegate
NSLog(@"Invalid class:%@", ODStringifyClass(App_Delegate)); // Error
ODStringifyProtocol
编译时类型检查的类名字符串。
NSLog(@"Valid protocol:%@", ODStringifyProtocol(NSCopying)); // AppDelegate
NSLog(@"Invalid protocol:%@", ODStringifyProtocol(NSCopiing)); // Error
ODStringifyProperty
属性方面与以上类似。注意。您需要处于类的实现内部(并且具有 self
)。
// AppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
NSLog(@"Valid property:%@", ODStringifyProperty(window)); // window
NSLog(@"Invalid property:%@", ODStringifyProperty(window_)); // Error
return YES;
}
ODConcat
允许我们连接任何东西。例如,在 ODWeakify
pod 中是如何工作的 – 我们连接变量的名称与 弱 后缀以获取新的另一个名称。
#define od_weakify(obj) __weak __typeof(obj) ODConcat(obj, _weak_)
ODCurrentFileAndLine
仅为当前文件和行作为 NSString。
ODCompilerIgnorePush & ODCompilerPop
两个定义用于简化编译器父值推送。实际上,也许将其移动到另一个 pod 更好。
ODCompilerIgnorePush(-Wgnu).
// some code
ODCompilerIgnorePop.
安装
ODStringify 支持多种方法在项目中安装库。
使用 CocoaPods 安装
CocoaPods 是 Objective-C 和 Swift 的依赖性管理器,它自动化并简化了在项目中使用类似 ODStringify 的第三方库的过程。您可以使用以下命令安装它:
$ gem install cocoapods
Podfile
要将ODStringify集成到使用CocoaPods的Xcode项目中,请在您的Podfile
中指定它
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '12.0'
target 'TargetName' do
pod 'ODStringify'
end
然后,运行以下命令
$ pod install
使用Carthage安装
Carthage是一个去中心化的依赖关系管理器,它构建您的依赖项并且提供您二进制框架。
您可以使用以下命令通过Homebrew安装Carthage
$ brew update
$ brew install carthage
要使用Carthage将ODStringify集成到您的Xcode项目中,请在您的Cartfile
中指定它
github "nzrsky/ODStringify" ~> 1.1
运行carthage
来构建框架,然后将构建的ODStringify.framework
拖入您的Xcode项目。
作者
Alexey Nazarov,[email protected]
许可
ODStringify根据MIT许可证提供。有关更多信息,请参阅LICENSE文件。