Iphone变量似乎正在加载语法,而不是变量

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

我从一个XML节点分配一个变量字符串,出于某种原因,当我稍后使用它时,我会将其读取如下:

编辑 要解析的当前URL是从[loadXML currentCat]]加载页面时写入的NSLog

NSLog:

 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分配了最终结果的值,而不是所选结果的值——你知道我做错了什么吗?