我试过这个
NSCharacterSet *myCharSet = [NSCharacterSet characterSetWithCharactersInString: myString];
[myCharSet count];
但是得到一个警告,NSCharacterSet可能无法响应计数。这适用于桌面应用而不是iPhone,我认为上面的代码可以使用。
答案 0 :(得分:80)
我可能会在这里遗漏一些东西,但仅仅是做错了什么:
NSUInteger characterCount = [myString length];
要获取字符串中的字符数,我认为没有理由使用NSCharacterSet。
答案 1 :(得分:0)
这也不适用于iPhone,因为NSCharacterSet不是任何平台上的NSSet的子类。
如果你真的需要计算为什么不是子类NSSet,添加值,然后有一个方法根据需要将其作为NSCharacterSet返回,以便在任何需要字符集的东西中使用?
答案 2 :(得分:0)
NSString *string = @"0̄ ?";
__block NSUInteger count = 0;
[string enumerateSubstringsInRange:NSMakeRange(0, [string length])
options:NSStringEnumerationByComposedCharacterSequences
usingBlock:^(NSString *substring, NSRange substringRange, NSRange enclosingRange, BOOL *stop) {
count++;
}];
NSLog(@"%ld %ld", (long)count, (long)[string length]);