Iphone变量似乎正在加载语法,而不是变量
我从一个XML节点分配一个变量字符串,出于某种原因,当我稍后使用它时,我会将其读取如下: 编辑 要解析的当前URL是从[loadXML currentCat]]加载页面时写入的NSLog NSLog:Iphone变量似乎正在加载语法,而不是变量,iphone,objective-c,ios,variables,Iphone,Objective C,Ios,Variables,我从一个XML节点分配一个变量字符串,出于某种原因,当我稍后使用它时,我会将其读取如下: 编辑 要解析的当前URL是从[loadXML currentCat]]加载页面时写入的NSLog NSLog: Current URL To Parse: <UILongPressGestureRecognizer: 0x677c240; state = Possible; view = <UITableViewCellContentView 0x67780b0>; target= &l
Current URL To Parse: <UILongPressGestureRecognizer: 0x677c240; state = Possible; view = <UITableViewCellContentView 0x67780b0>; target= <(action=_longPressGestureRecognized:, target=<UITableViewCell 0x677c340>)
NSArray *urlArray = [item elementsForName:kName_url];
for(CXMLElement *url in urlArray)
{
newobj.urlSearch = url.stringValue;
tempFullUrl = url.stringValue;
NSLog(@"Temp Full URL: : %@", tempFullUrl);
[url release];
[kName_url release];
}
[totalArray addObject:newobj];
}}
else if(currentType == @"p2FullSearch") {
NSString *searchType = @"categorySearch";
PromotionViewController *loadXML = [[PromotionViewController alloc] initWithNibName:@"PromotionViewController" bundle:nil];
[loadXML setCurrentCat: tempFullUrl];
[loadXML setCurrentType: searchType];
[self.navigationController pushViewController:loadXML animated:YES];
}
它也是在.m中合成的
正在设置的变量:
Current URL To Parse: <UILongPressGestureRecognizer: 0x677c240; state = Possible; view = <UITableViewCellContentView 0x67780b0>; target= <(action=_longPressGestureRecognized:, target=<UITableViewCell 0x677c340>)
NSArray *urlArray = [item elementsForName:kName_url];
for(CXMLElement *url in urlArray)
{
newobj.urlSearch = url.stringValue;
tempFullUrl = url.stringValue;
NSLog(@"Temp Full URL: : %@", tempFullUrl);
[url release];
[kName_url release];
}
[totalArray addObject:newobj];
}}
else if(currentType == @"p2FullSearch") {
NSString *searchType = @"categorySearch";
PromotionViewController *loadXML = [[PromotionViewController alloc] initWithNibName:@"PromotionViewController" bundle:nil];
[loadXML setCurrentCat: tempFullUrl];
[loadXML setCurrentType: searchType];
[self.navigationController pushViewController:loadXML animated:YES];
}
正在使用的风险值:
Current URL To Parse: <UILongPressGestureRecognizer: 0x677c240; state = Possible; view = <UITableViewCellContentView 0x67780b0>; target= <(action=_longPressGestureRecognized:, target=<UITableViewCell 0x677c340>)
NSArray *urlArray = [item elementsForName:kName_url];
for(CXMLElement *url in urlArray)
{
newobj.urlSearch = url.stringValue;
tempFullUrl = url.stringValue;
NSLog(@"Temp Full URL: : %@", tempFullUrl);
[url release];
[kName_url release];
}
[totalArray addObject:newobj];
}}
else if(currentType == @"p2FullSearch") {
NSString *searchType = @"categorySearch";
PromotionViewController *loadXML = [[PromotionViewController alloc] initWithNibName:@"PromotionViewController" bundle:nil];
[loadXML setCurrentCat: tempFullUrl];
[loadXML setCurrentType: searchType];
[self.navigationController pushViewController:loadXML animated:YES];
}
应用程序倒过来,突出显示tempFullUrl=url.stringValue代码>行,但没有说明原因!我假设var tempFullUrl的设置很奇怪
任何帮助都将不胜感激
Tom您没有使用合成访问器,因此字符串被释放。使用
self.tempFullURL =
而不是直接分配给ivar。在您的情况下,内存区域似乎已重新分配给一个手势识别器,该识别器显示在您的日志语句中 向我们展示更多内容,如tempFullUrl声明。您能否修改原始问题以显示tempFullUrl
声明为什么?它应该是NSString*
而不是NSURL*
。谢谢你的帮助。但我注意到的一件事是,它给URL分配了最终结果的值,而不是所选结果的值——你知道我做错了什么吗?