capitalizedString
returns your string with an uppercase first letter and the rest lowercase.
Try again with capName = [name uppercaseString];
Currently, you're looking for "Ward"
in a string that doesn't contain "Ward"
(though it does contain "WARD"
).
EDIT: capitalizedString
makes the first letter in each word of the string upper case, and the rest lower case.
Also, you can do this:
NSRange match = [capListOfNames rangeOfString:capName
options:NSCaseInsensitiveSearch];
Which, well, performs a case-insensitive search...