您的位置:首页 > 移动开发 > IOS开发

汉字转换成拼音封装

2015-09-18 22:47 507 查看

用nsobject建个文件,在.h文件中敲以下代码

@interface NSString (Characters)

/* 讲汉字转换为拼音 */

- (NSString *)pinyinOfName;

/* 汉字转换为拼音后,返回大写的首字母 */

- (NSString *)firstCharacterOfName;

@end

.m中

@implementation NSString (Characters)

/* 将汉字转换为拼音 */

- (NSString *)pinyinOfName

{

NSMutableString * name = [[[NSMutableString alloc] initWithString:self ] autorelease];

CFRange range = CFRangeMake(0, 1);

/* 汉字转换为拼音,并去除音调 */
if ( ! CFStringTransform((__bridge CFMutableStringRef) name, &range, kCFStringTransformMandarinLatin, NO) ||
! CFStringTransform((__bridge CFMutableStringRef) name, &range, kCFStringTransformStripDiacritics, NO)) {
return @"";
}

return name;


}

/* 汉字转换为拼音后,返回大写的首字母 */

- (NSString *)firstCharacterOfName

{

NSMutableString * first = [[[NSMutableString alloc] initWithString:[self substringWithRange:NSMakeRange(0, 1)]] autorelease];

CFRange range = CFRangeMake(0, 1);

/* 汉字转换为拼音,并去除音调 */
if ( ! CFStringTransform((__bridge CFMutableStringRef) first, &range, kCFStringTransformMandarinLatin, NO) ||
! CFStringTransform((__bridge CFMutableStringRef) first, &range, kCFStringTransformStripDiacritics, NO)) {
return @"";
}

NSString * result;
result = [first substringWithRange:NSMakeRange(0, 1)];

return result.uppercaseString;


}

@end

照着上面的代码,打完只要拖入你需要的工程中就可以了.封装的好处在于此.^_^Y.

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息