NSData保留旧值-iPhone
问题描述:
我正在使用以下代码来生成和解析XML。 调用方法[self checksigninSucess];
,并在按下“登录”按钮时设置UITextField
值。NSData保留旧值-iPhone
-(void)checksigninSucess{
NSString* content = [NSString stringWithFormat:@"http://www.anball/login_check.php?email=%@&password=%@",emailField.text,passwordField.text];
NSData *xml = [NSData dataWithContentsOfURL: [NSURL URLWithString:content]];
NSLog(@"URLXML %@",[NSURL URLWithString:content]);
self.parser=[NSXMLParser alloc]initWithData:xml];
[self.parser setDelegate:self];
[self.parser parse];
[self.parser release];
self.parser=nil;
}
但我的问题是,NSData
持有我在仅在第一次的文本字段中输入值。当我第二次使用不同的电子邮件和密码按下“登录”按钮时,NSData
保存了之前生成的相同URL。 如何清除NSData
下一次尝试的值。
答
为什么你需要使用NSData?改为使用NSString,如下所示。
self.parser=[[NSXMLParser alloc] initWithContentsOfURL:[NSURL URLWithString:content]];
[self.parser setDelegate:self];
[self.parser parse];
[self.parser release];
self.parser=nil;
答
使用此行来代替,以防止数据
NSData *xml = [NSData dataWithContentsOfURL: [NSURL URLWithString:content] options:NSDataReadingUncached error:nil];
的缓存使用的功能,第二个变体
+ (id)dataWithContentsOfURL:(NSURL *)aURL options:(NSDataReadingOptions)mask error:(NSError **)errorPtr
见NSDataReadingOptions口罩
确定内容字符串第二次不同吗?也许你没有设置正确的文本字段值? – TheEye
打印您的文本字段的日志 – Maulik
NOP !!当我在控制台中打印URL([NSURL URLWithString:content])时,它会给出修改的URL但不是NSData! –