「ios開発」iOSで文字列から一部分を取り出すサンプルプログラム
コード下記:
#import “NSString+StringToWords.h"
@implementation NSString (StringToWords)
– (NSArray *)words
{
#if ! __has_feature(objc_arc)
NSMutableArray *words = [[[NSMutableArray alloc] init] autorelease];
#else
NSMutableArray *words = [[NSMutableArray alloc] init];
#endif
const char *str = [self cStringUsingEncoding:NSUTF8StringEncoding];
char *word;
for (int i = 0; i < strlen(str);) {
int len = 0;
if (str[i] >= 0xFFFFFFFC) {
len = 6;
} else if (str[i] >= 0xFFFFFFF8) {
len = 5;
} else if (str[i] >= 0xFFFFFFF0) {
len = 4;
} else if (str[i] >= 0xFFFFFFE0) {
len = 3;
} else if (str[i] >= 0xFFFFFFC0) {
len = 2;
} else if (str[i] >= 0x00) {
len = 1;
}
word = malloc(sizeof(char) * (len + 1));
for (int j = 0; j < len; j++) {
word[j] = str[j + i];
}
word[len] = '\0’;
i = i + len;
NSString *oneWord = [NSString stringWithCString:word encoding:NSUTF8StringEncoding];
free(word);
[words addObject:oneWord];
}
return words;
}
@end
説明:
NSMutableArray
NSMutableArrayクラスは、NSArrayを可変としたい場合に使用します。
NSMutableArrayはNSArrayを継承していますので、NSArrayのメソッドはそのまま使用できる