Search code examples
iosobjective-cnsstringnsrange

Shortcut to generate an NSRange for entire length of NSString?


Is there a short way to say "entire string" rather than typing out:

NSMakeRange(0, myString.length)]

It seems silly that the longest part of this kind of code is the least important (because I usually want to search/replace within entire string)…

[myString replaceOccurrencesOfString:@"replace_me"
                          withString:replacementString
                             options:NSCaseInsensitiveSearch
                               range:NSMakeRange(0, myString.length)];

Solution

  • Function? Category method?

    - (NSRange)fullRange
    {
        return (NSRange){0, [self length]};
    }
    

    [myString replaceOccurrencesOfString:@"replace_me"
                              withString:replacementString
                                 options:NSCaseInsensitiveSearch
                                   range:[myString fullRange]];