NSDictionary для отображения каждого элемента - PullRequest
1 голос
/ 09 апреля 2011

У меня есть следующий код:

for (int i = 1; i<=count; i++) {

    NSString *j = [[NSString alloc] initWithFormat:@"%d",i ];

    NSArray *fields = [[NSArray alloc] initWithObjects:
                       @"name",nil];
    //@"title",@"mobile",@"email",@"website"
    [requestExecute setMethod:@"execute" withObjects:[NSArray arrayWithObjects:
                                                          @"testdb",userid,@"admin",@"res.partner.contact",@"read",j,fields,nil]];
    NSDictionary *records=[self executeXMLRPCRequest:requestExecute];

NSLog(@"\nKey : %@ value : \n",records);

Вывод выглядит как

2011-04-09 12:34:32.431 Erp[1571:207]
 (  
        {  
        email = "benoit@yahoo.com";  
        id = 1;  
        mobile = 12345;  
        name = Mortier;  
        title = "Ms.";  
        website = "www.benoit.com";  
    }  
)  
2011-04-09 12:34:32.515 Erp[1571:207] (  
        {  
        email = "laurent@hotmail.com";  
        id = 2;  
        mobile = 23455;  
        name = Jacot;  
        title = "M.";  
        website = "www.laurent.com";  
    }  
)  
2011-04-09 12:34:32.599 Erp[1571:207] (  
        {  
        email = "thomas@yahoo.com";  
        id = 3;  
        mobile = 34567;  
        name = Passot;  
        title = "M.";  
        website = "www.thomas.com";  
    }  
)  
2011-04-09 12:34:32.683 Erp[1571:207] (  
        {  
        email = "etienne@yahoo.com";  
        id = 4;  
        mobile = 45678;  
        name = Lacarte;  
        title = Mss;  
        website = "www.etienne.com";  
    }  
)  
2011-04-09 12:34:32.767 Erp[1571:207] (  
        {  
        email = "chow@gmail.com";  
        id = 5;  
        mobile = 56789;  
        name = Tang;  
        title = Mss;  
        website = "www.chow.com";  
    }  
)  
2011-04-09 12:34:32.851 Erp[1571:207] (  
        {  
        email = "hudson@gmail.com";  
        id = 6;  
        mobile = 1237091;  
        name = Wong;  
        title = "M.";  
        website = "www.hudson.com";  
    }  
)  

Это печатает каждую запись по одной.Теперь я хотел бы получить каждое поле в этой записи по одному.

Ответы [ 2 ]

3 голосов
/ 09 апреля 2011

Objective-C 2.0 поддерживает довольно удобные коллекции синтаксиса быстрого перечисления ...

for(NSString *aKey in records){
    NSLog(@"%@", [[records valueForKey:aKey] description]);
}
0 голосов
/ 09 апреля 2011

Я не уверен, что делает requestExecute, но если вы хотите перебрать все значения в NSDictionary, вы можете использовать [records allKeys], который вернет NSArray всех ключей в словаре.

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