Iphone NSURL不';我不喜欢获取变量

Iphone NSURL不';我不喜欢获取变量,iphone,objective-c,xcode,Iphone,Objective C,Xcode,将字符串传递给NSURL时出错 Entity: line 6: parser error : EntityRef: expecting ';' zzzzzzz.com/feeds/rss/zzzz/zzzz/get_feed.php?c=zzzz&s=zzzz&f 它不会停止应用程序或任何东西,但我觉得应该解决它。看起来它不像&符号。我尝试用替换&但这不起作用 NSString *blogAddress = @"http://zzzzzz.com/feeds/rss/zz

将字符串传递给NSURL时出错

Entity: line 6: parser error : EntityRef: expecting ';'
zzzzzzz.com/feeds/rss/zzzz/zzzz/get_feed.php?c=zzzz&s=zzzz&f
它不会停止应用程序或任何东西,但我觉得应该解决它。看起来它不像
&
符号。我尝试用
替换&但这不起作用

NSString *blogAddress = @"http://zzzzzz.com/feeds/rss/zzzz/zzzz/get_feed.php?c=zzzz&s=zzzz&f=most_recent";
NSURL *url = [NSURL URLWithString: blogAddress];
CXMLDocument *rssParser = [[[CXMLDocument alloc] initWithContentsOfURL:url options:0 error:nil] autorelease];

您需要对字符串进行URL编码。我使用了一个类别来做这件事:

URLUtils.h:

@interface NSString (URLUtils)

- (NSString *) urlEncodeValue;

@end
URLUtils.m:

#import "URLUtils.h"


@implementation NSString (URLUtils)

- (NSString *) urlEncodeValue {
    return (NSString *) CFURLCreateStringByAddingPercentEscapes(NULL,
                                                               (CFStringRef) self,
                                                               NULL,
                                                               (CFStringRef)@"!*'();:@&=+$,/?%#[]",
                                                               kCFStringEncodingUTF8 );
}

@end
然后在类中包含
URLUtils.h
后,您可以执行以下操作:

NSURL *url = [NSURL URLWithString: [blogAddress urlEncodeValue]];
应该这样做


祝你好运

您需要对字符串进行URL编码。我使用了一个类别来做这件事:

URLUtils.h:

@interface NSString (URLUtils)

- (NSString *) urlEncodeValue;

@end
URLUtils.m:

#import "URLUtils.h"


@implementation NSString (URLUtils)

- (NSString *) urlEncodeValue {
    return (NSString *) CFURLCreateStringByAddingPercentEscapes(NULL,
                                                               (CFStringRef) self,
                                                               NULL,
                                                               (CFStringRef)@"!*'();:@&=+$,/?%#[]",
                                                               kCFStringEncodingUTF8 );
}

@end
然后在类中包含
URLUtils.h
后,您可以执行以下操作:

NSURL *url = [NSURL URLWithString: [blogAddress urlEncodeValue]];
应该这样做


祝你好运

尝试对URL字符串进行如下编码

NSURL *url = [NSURL URLWithString:[blogAddress stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];

尝试像这样对URL字符串进行编码

NSURL *url = [NSURL URLWithString:[blogAddress stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];

符号不应该是问题。您可以发布您如何创建
NSURL
的代码吗?&符号不应该是问题。你能发布你如何创建NSURL的代码吗?谢谢,但是说出来了:http%3A%2F%2Fzzzz.com%2Ffeeds%2Frss%2Fzzzz%2fzzz%2Fget_feed.php%3Fc%3dzzzzzzz%26s%3dzzz%26f%3dfost_recenty你应该只把你的查询字符串传递给URLEncode。很抱歉,我没有说得更清楚。谢谢,但是说出来了:http%3A%2F%2Fzzzz.com%2Ffeeds%2Frss%2fzzzzz%2fzzzzz%2Fget_feed.php%3Fc%3dzzzzz%26s%3dzzzzz%26f%3Dmost_recenty您应该只将查询字符串传递给URLEncode。对不起,我说得不清楚。