Rap*_*eta 1 iphone objective-c ios4
我最近刚刚开始使用Objective-C,这让我再次请求SO寻求帮助.我需要重写这个方法,以便我可以使用[self URLEncodedString]调用它;
这就是目前的方法 -
- (NSString *)URLEncodedString {
NSString *result = (NSString *)CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault, (CFStringRef)self, NULL, CFSTR("!*'();:@&=+$,/?%#[]"), kCFStringEncodingUTF8);
[result autorelease];
return result;
}
Run Code Online (Sandbox Code Playgroud)
但我不能称之为[self URLEncodedString]; 如何重写它以便能够使用[self URLEncodedString]调用它?
PS通过[strValue URLEncodedString]调用它; 不起作用,因此我正在发表这篇文章.
谢谢你的帮助!
我想你要求的是创建一个NSString将编码你的字符串的类别.
您需要创建一组新文件,将它们命名为有意义的文件(NSString + URLEncoding).
在.h文件中,您需要这样的内容:
@interface NSString (URLEncoding)
- (NSString*)URLEncodedString;
@end
Run Code Online (Sandbox Code Playgroud)
然后在你的.m文件中:
@implementation NSString (URLEncoding)
- (NSString *)URLEncodedString {
NSString *result = (NSString *)CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault, (CFStringRef)self, NULL, CFSTR("!*'();:@&=+$,/?%#[]"), kCFStringEncodingUTF8);
[result autorelease];
return result;
}
@end
Run Code Online (Sandbox Code Playgroud)
如果要使用此方法,则需要确保导入"NSString + URLEncoding.h".
然后你可以做这样的事情:
NSString * firstString = @"Some string to be encoded %&^(&(!@£$%^&*";
NSString * encodedString = [firstString URLEncodedString];
Run Code Online (Sandbox Code Playgroud)
希望有所帮助.
| 归档时间: |
|
| 查看次数: |
914 次 |
| 最近记录: |