I am a bit new to Objective C and was wondering if there is a better way to count words in a string.
ie:
NSString *str = @\"this is a string\";
// r         
        Are you sure you have a bottleneck in that part of code? If not (which is quite probable), then splitting on spaces seems perfectly acceptable to me. You could create a C string and count the spaces instead, but a lot of times such an “optimized” version is actually slower than the original one. That is, assuming that your current code looks like this:
NSUInteger wordCount = [[someString componentsSeparatedByString:@" "] count];
This is not exactly correct (see @"___" where underscore is a space), but maybe you really use a regex and split on \s+?