我认为这会奏效。从这个答案中获取的 reversedString 的逻辑
#import "NSString+CustomCrypto.h"
@implementation NSString (CustomCrypto)
- (NSString *)reversedString{
NSMutableString *reversedString = [NSMutableString stringWithCapacity:[self length]];
[self enumerateSubstringsInRange:NSMakeRange(0,[self length])
options:(NSStringEnumerationReverse | NSStringEnumerationByComposedCharacterSequences)
usingBlock:^(NSString *substring, NSRange substringRange, NSRange enclosingRange, BOOL *stop) {
[reversedString appendString:substring];
}];
return [NSString stringWithString:reversedString];
}
- (NSString *)splicedString{
NSInteger index = [self length]/2;
NSString *subString = [self substringFromIndex:index];
NSString *secondString = [self substringToIndex:index];
return [subString stringByAppendingString:secondString];
}
- (NSString *)customCryptoString{
NSString *splicedString = [self splicedString];
NSString *reversedString = [self reversedString];
return [NSString stringWithFormat:@"%@ %@ %@",self, splicedString, reversedString];
}
调用string的category方法
NSLog(@"%@",[@"abcdefgh" customCryptoString]);
输出:abcdefgh efghabcd hgfedcba