开发者

Dictionary Getting Released?

Currently, I have a class that is parsing XML and sending the dictionary that the XML is parsed to to a view controller.

Here is a snippet of the code that sends the dictionary to the other class (where "response" is the dictionary):

if ([elementName isEqualToString:@"SessionData"]) 
{
// We reached the end of the XML document
// dumps dictionary into log
NSLog(@"Dump:%@", [response description]);

// sends dictionary to the VC
CardSetupViewController *setup = [[CardSetupViewController alloc]init];
setup.response = self.response;

//checks
NSLog(@"%@ lololololol", [setup.response description]); //THIS WORKS FINE!!
return;
}

At that point, the code works fine. That NSLog marked with //THIS WORKS FINE!! works... obviously. Here is the method in the ViewController:

- (BOOL)authorize //this 
{
    AddCard *addCard = [[AddCard alloc]init];
    ServerConnection *connection = [[ServerConnection alloc]init];
    //XMLParser *xmlParser = [[XMLParser alloc]initXMLParser];

    //serverReturn posts the data and is the ACTUAL server response in NSData form
    NSData *serverReturn = [connection postData:[addCard textBoxToXml:
                                                    [self nameOnCardGet]:
                                                    [self ccNumGet]:
                                                    [self expMoGet]:
                                                    [self expYrGet]:
                                                    [self cvvGet]:
                                                    [self zipGet]:
                                                    [self nickNameGet]:
                                                    [self pinGet]]];

    //This takes the information from the server and parses it to "response"
    //Creates and inits NSXMLParser Object
    NSXMLParser *nsXmlparser = [[NSXMLParser alloc] initWithData:serverReturn];
    //Create and init our delegate
    XMLParser *parser = [[XMLParser alloc] initXMLParser];
    //set delegate
    [nsXmlparser setDelegate:(id <NSXMLParserDelegate>) parser];



    //initiates self.res开发者_开发百科ponse THIS MAY NOT BE NEEDED
    //response = [[NSMutableDictionary alloc]init];

    //parsing
    BOOL success = [nsXmlparser parse];
    //error catch testing
    if (success) {
        NSLog(@"No errors");
    } 
    else {
        NSLog(@"Error parsing document!");
    }
    //dump   
    NSLog(@"ZOMG CHECK DIS OUT%@", [response description]);
    return NO;
}

Basically, the NSLog that states "ZOMG CHECK DIS OUT" is returning (null) and I can't figure out why. No compilation errors, it is a property/synthesize as well. Any ideas?

Thanks in advance. Oh, and please excuse my NSLog comments. I had to differentiate from different parts of the code, and I was in a good mood.

Edit: I am using Automatic Reference Counting. Don't worry, nothing is leaking.


In your first code block, you generate a CardSetupViewController and then leak it. It is unrelated to whatever object is running the second code block. I assume that your second view controller is from your NIB?

Note that you're also leaking your NSXMLParser.


Your [response description], whatever that is, is probably an autoreleased object that gets released before ZOMG CHECK DIS OUT. Retain it and see if that works. Don't forget to release it when you're done with it.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜