Inflections 将 AppleWebKit 几个词形方法转换为 Objective C。这受到了 Ryan Schuft 的美妙 inflection.js(《http://code.google.com/p/inflection-js/》)的启发。该框架支持驼峰命名法和复数化以及其他一些优秀功能。它还依赖于 RegexKitLite 以支持正则表达式。
使用项目最简单的方式是将 NSString+Inflections.h
和 NSString+Inflections.m
添加到您的项目中。您还需要在您的项目中添加 RegexKitLite。
要安装 RegexKitLite,请检查他们的网站: http://regexkit.sourceforge.net/RegexKitLite/#AddingRegexKitLitetoyourProject
- (NSString *)pluralize;
返回字符串中单词的复数形式。
- (NSString *)singularize;
与 +pluralize+ 相反,返回字符串中单词的单数形式。
- (NSString *)humanize;
将第一个单词大写,将下划线转换为空格,如果有的话,则移除尾随的 "_id"。像 +titleize+ 一样,这旨在创建美观的输出。
- (NSString *)titleize;
将非标题化的单词以外的所有单词大写。
- (NSString *)tableize;
创建类似 Rails 为模型创建表名的方式来创建一个表名。此方法在字符串的最后一个单词上使用 +pluralize+ 方法。
- (NSString *)classify;
从复数表名创建类名,就像 Rails 为表名创建模型一样。
- (NSString *)camelize;
将分隔下划线的字符串转换为 CamelCasedString。
- (NSString *)camelizeWithLowerFirstLetter;
将分隔下划线的字符串转换为以小写字母开头的 camelCasedString。
- (NSString *)underscore;
将字符串中的表达式转换为下划线、小写形式。
- (NSString *)dasherize;
在字符串中用短横线替换下划线。
- (NSString *)demodulize;
从字符串的表达式中移除模块部分。
- (NSString *)foreignKey;
从类名创建外键名称。
- (NSString *)foreignKeyWithoutIdUnderscore;
从类名创建一个不带分离 id 部分下划线的外键名称。
- (NSString *)ordinalize;
将数字转换为用于表示顺序中的位置的序字符串,如 1st,2nd,3rd,4th。
- (NSString *)capitalize;
将首字母大写,其余字母小写。
目前一些复数化的测试已经通过。测试套件已从 Rails 3.0 转移过来,大部分功能正常工作。但仍有几个奇怪的情况。
版权所有 (c) 2010 Adam Elliot,根据 MIT 许可证发布。