Выпуск словаря? - PullRequest
       2

Выпуск словаря?

1 голос
/ 07 июля 2011

В настоящее время у меня есть класс, который выполняет синтаксический анализ XML и отправляет словарь, с которым анализируется XML, в контроллер представления.

Вот фрагмент кода, который отправляет словарь в другой класс (где «response» - это словарь):

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;
}

В этот момент код работает нормально.Этот NSLog помечен знаком // ЭТО РАБОТАЕТ КАЧЕСТВЕННО !!работает ... очевидно.Вот метод в 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.response 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;
}

В основном NSLog, который заявляет "ZOMG CHECK DIS OUT", возвращает (ноль), и я не могу понять, почему.Нет ошибок компиляции, это свойство / синтез, а также.Есть идеи?

Заранее спасибо.О, и, пожалуйста, извините за мои комментарии NSLog.Мне приходилось различать разные части кода, и я был в хорошем настроении.

Редактировать: Я использую автоматический подсчет ссылок.Не волнуйтесь, ничего не протекает.

Ответы [ 2 ]

1 голос
/ 07 июля 2011

В вашем первом блоке кода вы генерируете CardSetupViewController, а затем пропускаете его.Это не связано с тем, какой объект выполняет второй блок кода.Я предполагаю, что ваш второй контроллер вида от вашего NIB?

Обратите внимание, что вы также пропускаете свой NSXMLParser.

0 голосов
/ 07 июля 2011

Ваш [response description], что бы это ни было, вероятно, является автоматически выпущенным объектом, который освобождается до ZOMG CHECK DIS OUT. Сохраните его и посмотрите, работает ли это. Не забудьте выпустить его, когда закончите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...