To escape character use stringByAddingPercentEncodingWithAllowedCharacters:
NSString *URLEscapedString =
[string stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
The following are useful character sets:
URLFragmentAllowedCharacterSet? "#%<>[\]^`{|}
URLHostAllowedCharacterSet? ? ? "#%/<>?@\^`{|}
URLPasswordAllowedCharacterSet? "#%/:<>?@[\]^`{|}
URLPathAllowedCharacterSet? ? ? "#%;<>?[\]^`{|}
URLQueryAllowedCharacterSet? ? "#%<>[\]^`{|}
URLUserAllowedCharacterSet? ? ? "#%/:<>?@[\]^`