Cocoa:按字符长度解析NSString

Mat*_* S. 1 cocoa parsing nsstring nsarray

我有一个NSString我正在使用,但我想按字符长度解析它.因此将它分解为NSArray,并使数组中的每个对象都是该字符串中的x个字符.所以基本上,将字符串分解为一定长度的子字符串

那么,我该怎么做?

例:

NSString*string = @"这是我的字符串"

NSArray对象:

"她"

"我"

"s m"

"是的"

"三"

"NG"

epa*_*tel 5

这可以吗?虽然没有测试过

@interface NSString (MyStringExtensions)
- (NSArray*)splitIntoPartsWithLength:(NSUInteger)length;
@end

@implementation NSString (MyStringExtensions)
- (NSArray*)splitIntoPartsWithLength:(NSUInteger)length
{
    NSRange range = NSMakeRange(0, length);
    NSMutableArray *array = [NSMutableArray array];
    NSUInteger count = [self length];

    while (length > 0) {
        if (range.location+length >= count) {
            [array addObject:[self substringFromIndex:range.location]];
            return [NSArray arrayWithArray:array];
        }
        [array addObject:[self substringWithRange:range]];
        range.location = range.location + length;
    }
    return nil;
} 
@end
Run Code Online (Sandbox Code Playgroud)

编辑 - 作为类别使用实现

NSString *myString = @"Wish you a merry x-mas";
NSArray *array = [myString splitIntoPartsWithLength:10];
Run Code Online (Sandbox Code Playgroud)