NSString或NSMutableString中的字符数?

时间:2009-08-31 03:44:02

标签: objective-c cocoa

我试过这个

NSCharacterSet *myCharSet = [NSCharacterSet characterSetWithCharactersInString: myString];
[myCharSet count];

但是得到一个警告,NSCharacterSet可能无法响应计数。这适用于桌面应用而不是iPhone,我认为上面的代码可以使用。

3 个答案:

答案 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]);