title: Correct bridging for ARC?
body: <p>I have a category class for NSString. </p>
  
  <pre><code>@implementation NSString (URLEncode)
  
  - (NSString *)URLEncodedString
  {
      __autoreleasing NSString *encodedString;
  
      NSString *originalString = (NSString *)self;    
      encodedString = (__bridge_transfer NSString * )
              CFURLCreateStringByAddingPercentEscapes(NULL,
                                  (__bridge CFStringRef)originalString,
                                  NULL,
                                  (CFStringRef)@"!*'();:@&amp;=+$,/?%#[]",
                                  kCFStringEncodingUTF8);
      return encodedString;
  }
  </code></pre>
  
  <p>Am I using the correct bridge transfers for ARC and the new LLVM?</p>
  
  <p>The original code:</p>
  
  <pre><code>- (NSString *)URLEncodedString
      NSString *encodedString = (NSString *)CFURLCreateStringByAddingPercentEscapes(NULL,
                                  (CFStringRef)self,
                                  NULL,
                                  (CFStringRef)@"!*'();:@&amp;=+$,/?%#[]",
                                  kCFStringEncodingUTF8);
      return [encodedString autorelease];
  }
  </code></pre>