0
-(NSMutableDictionary *)request:(NSString *)requestString {
NSString *filepath = [[NSBundle mainBundle] pathForResource:requestString ofType:@"xml"];
NSError *error = nil;
respString = [NSString stringWithContentsOfFile:filepath usedEncoding:nil error:&error];
NSLog(@"Ping xml");
tempDict = [[NSMutableDictionary alloc] initWithDictionary:[parser readXMLString:respString]];
NSLog(@"%@",tempDict);
return tempDict;
}
До тех пор, все в порядке, NSLog показывает, что в tempDict есть 2 объекта и клавиши. Но тогда:объектForKey ничего не возвращает
-(int) authenticateUser {
NSMutableDictionary *dictionary = [[NSMutableDictionary alloc] initWithDictionary:[self request:@"login"]];
if ([[dictionary objectForKey:@"sessionId0"] isEqualToString:@"-1"]) {
//Some code
}
else {
cError = 1;
NSLog(@"%@",[dictionary objectForKey:@"sessionId0"]);
appDelegate.sessionId = [dictionary objectForKey:@"sessionId0"];
}
[dictionary release];
return cError;
}
В последний еще, где cError является 1, NSLog выводит ноль для этого объекта. (NSLog для всего словаря также выводит ноль)
Вы уверены, что '[запрос самостоятельно: @«Вход» ] 'не ноль? Попробуйте NSLog it в 'authenticateUser' – Saphrosit
Просто выбросив это, но вы уверены, что хотите выделить новый словарь для результатов, а не просто использовать словарь, который возвращается [self request:]? Это не поможет вашему конкретному вопросу, просто для того, что вы здесь делаете, я не понимаю, почему вы хотите выделить целый новый словарь и скопировать результаты запроса: в него ... Для вашего фактического вопроса, может быть, вы забыли добавить запрос: метод к вашему интерфейсу для этого класса? – wallacer
Оператор if проверяет наличие словаря objectForKey: @ "sessionID0"], но в вашей части вы проверяете наличие словаря objectForKey: @ "sessionID"]. Это то, что у вас есть в вашем фактическом коде, это ошибка ввода здесь? – sosborn