Make an NSURL with an encoded plus (+)

前端 未结 7 1170
灰色年华
灰色年华 2021-02-14 01:39

I need to pass a timestamp with a timezone offset in a GET request, e.g.,

2009-05-04T11:22:00+01:00

This looks like a two arguments

7条回答
  •  暗喜
    暗喜 (楼主)
    2021-02-14 02:12

    The string should be URL encoded.

    Here is a category for NSString that will help:

    NSString+Additions.h

    @interface NSString (Additions)
    
    - (NSString *)stringByURLEncoding;
    

    NSString+Additions.m

    #import "NSString+Additions.h"
    
    @implementation NSString (Additions)
    
    - (NSString *)stringByURLEncoding {
        return (__bridge NSString *)CFURLCreateStringByAddingPercentEscapes(NULL,
                                                               (CFStringRef)self,
                                                               NULL,
                                                               (CFStringRef)@"!*'\"();:@&=+$,/?%#[]% ",
                                                               CFStringConvertNSStringEncodingToEncoding(NSUTF8StringEncoding));
    }
    

提交回复
热议问题