プログラムを機器で実行しましたが、次のコードのリークが報告されています。
何故ですか ?
コードのこの部分はリークしていません。アナライザーを実行してみてください。リークしているものが表示される場合があります。
前に言ったように、ここではリークを確認できませんが、リークが発生していると想定しているため、コードの変更によってリークの可能性を取り除くことができる場合がありますsubstringWithRange:
。
次のコードは、ブロックベースの列挙を使用しています。もう1つのプラスの効果:合成された非ASCII文字の処理方法を知っています。
NSMutableArray *characters = [NSMutableArray array];
NSString *answer = @"Hello, Wørld!";
[answer enumerateSubstringsInRange:NSMakeRange(0, [answer length])
options:NSStringEnumerationByComposedCharacterSequences
usingBlock:^(NSString *substring,
NSRange substringRange,
NSRange enclosingRange,
BOOL *stop)
{
[characters addObject:substring];
}
];
[characters enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
NSLog(@"%@", obj);
}];