InflectorKit

CI

InflectorKit 是从 Rails ActiveSupport 移植而来的字符串变形功能库,用于 Swift 和 Objective-C。

InflectorKit 与 FormatterKitTransformerKit 一起,为操作用户界面内容提供设计良好的 API。

用法

Swift

import InflectorKit

for singular in ["person", "tomato", "matrix", "octopus", "fish"] {
    print("\(singular)\(singular.pluralized)")
}
/*
Prints:
person → people
tomato → tomatoes
matrix → matrices
octopus → octopi
fish → fish
*/

// You can also add pluralization rules,
// including irregular and uncountable words:

let inflector = StringInflector.default
inflector.addPluralRule(#"^i(Pod|Pad)( Mini)?$"#, replacement: #"i$1s$2"#)
inflector.addIrregular(singular: "lol", plural: "lolz")
inflector.addUncountable("Herokai")

for singular in ["iPad Mini", "lol", "Herokai"] {
    print("\(singular)\(singular.pluralized)")
}
/*
Prints:
iPad Mini → iPads Mini
lol → lolz
Herokai → Herokai
*/

Objective-C

#import "NSString+InflectorKit.h"

for (NSString *singular in @[@"person", @"tomato", @"matrix", @"octopus", @"fish"]) {
  NSLog(@"%@%@", singular, [singular pluralizedString]);
}

/*
Prints:
person → people
tomato → tomatoes
matrix → matrices
octopus → octopi
fish → fish
*/

// You can also add pluralization rules,
// including irregular and uncountable words:

TTTStringInflector *inflector = [TTTStringInflector defaultInflector];
[inflector addPluralRule:@"^i(Pod|Pad)( Mini)?$" withReplacement:@"i$1s$2"];
[inflector addIrregularWithSingular:@"lol" plural:@"lolz"];
[inflector addUncountable:@"Herokai"];

for (NSString *singular in @[@"iPad Mini", @"lol", @"Herokai"]) {
  NSLog(@"%@%@", singular, [singular pluralizedString]);
}

/*
Prints:
iPad Mini → iPads Mini
lol → lolz
Herokai → Herokai
*/

安装

Swift Package Manager

将 InflectorKit 包添加到您的目标依赖项中的 Package.swift

import PackageDescription

let package = Package(
  name: "YourProject",
  dependencies: [
    .package(
        url: "https://github.com/mattt/InflectorKit",
        from: "1.0.0"
    ),
  ]
)

然后运行 swift build 命令来构建您的项目。

CocoaPods

您可以通过 CocoaPods 安装 InflectorKit,只需将以下行添加到您的 Podfile

pod 'InflectorKit', '~> 1.0.0'

运行 pod install 命令来下载库并将其集成到您的 Xcode 项目中。

许可

MIT

联系

Mattt (@mattt)