2012-04-13 3 views
1

Я пытаюсь вернуть несколько строк из sudzc wsdl. Я загрузил результат в словарь. Приведенный ниже код дает мне первый результат. Как получить все результаты, а не только первый? Я ищу CSHR_POS_NAME, где [ID.text intValue] == CSHR_NUM.Схват нескольких строк из sudzc

dict = [resp objectForKey:@"TC"]; 
if((dict == nil) || ![dict isKindOfClass:[NSDictionary class]]) { 
    NSLog(@"WARNING: %@", [dict description]); 
    return; 
} 
    desc = [[dict objectForKey:@"CSHR_POS_NAME"]copy]; 
    CashierNum = [[dict objectForKey:@"CSHR_NUM"]copy]; 

    NSLog(@"Name: %@ and Cashier Number: %@",desc, CashierNum); 

Я был в состоянии сделать в VB:

If dsCashiers.Table("TC").Rows.Count > 0 Then 
... 
+0

Это проблема sudzc. Он перебирает десериализацию, перезаписывая предыдущий узел. – iDev

+0

см. Решение: http://stackoverflow.com/questions/10235496/sudzc-deserializeasdictionary-over-written-dictionary – iDev

ответ

0
[d setObject:v forKey:[child name]]; 
NSString* key = [child name]; 
id check = [d objectForKey:key]; 
if(check != nil) { 

NSInteger next = 1; 
key = [NSString stringWithFormat:@"%@%d", [child name], next]; 
check = [d objectForKey:key]; 
while(check != nil) { 

    next++; 
    key = [NSString stringWithFormat:@"%@%d", [child name], next]; 
    check = [d objectForKey:key]; 
} 
[d setObject:v forKey:key]; 
} 
[d setObject:v forKey:[child name]]; 
Смежные вопросы