简体   繁体   中英

how to get NSDictionary data iOS?

I need to show data from dictionary in UITableview

ex: In tableView first row I need to show 3 key values details. In second row I need to show 24 key values details.

This is dynamic data. Sometimes comes 2 index or 3,4 etc.How to get data from dictionary and populate tableView with the data? Please help me doing this. Below is code and data in dictionary.

NSDictionary *dictobj=[NSJSONSerialization JSONObjectWithData:responseData options:kNilOptions error:&err];
    NSLog(@"UDashBoard Dict is:%@",dictobj);
        [
            {
                "3": {
                    "FOR HEARING": {
                        "1": {
                            "applicant": [
                                "SAO",
                                "TO ASSIST THE"
                            ],
                            "cnumber": "TO ASSISTTH",
                            "cainitialnumber": "1.",
                            "respodent": [
                                "SRI NISARUDDIN",
                                "TO ASSIST THE VENUGOPAL"
                            ],
                            "ca_id": "5346",
                            "number": "No3",
                            "sitting_time": "AT 2:15 PM",
                            "raw_text": "TO ASSIST THE SUBBA RAO\n. .",
                            "district": "GUNTUR",
                            "catype": "FOR HEARING",
                            "list": null,
                            "j_name": [
                                "SUBHASH",
                                "CHANDRAIAH",
                                "RAMAMOHANA"
                            ]
                        },
                        "2": {
                            "applicant": [
                                "MAHENDE",
                                "TO ASSIST THE SUBBA RAO\n."
                            ],
                            "canumber": "TO ASSISTTHE.",
                            "cainitialnumber": "1.",
                            "respodent": [
                                "SRI AHMED JEDDY",
                                "TO ASSIST THE VENUGOPAL"
                            ],
                            "ca_id": "5377",
                            "cnumber": "No3",
                            "sitting_time": "AT 2:15 PM",
                            "raw_text": "TO ASSIST THE REDDY",
                            "district": "GUNTUR",
                            "catype": "FOR HEARING",
                            "list": null,
                            "j_name": [
                                "REDDY",
                                "RAMAMOHANA RAO"
                            ]
                        },
                        "3": {
                            "applicant": [
                                "MAHENDER",
                                "TO ASSIST THE SUBBA RAO\n."
                            ],
                            "canumber": "TO ASSISTTHE.",
                            "cainitialnumber": "1.",
                            "respodent": [
                                "SRI NISARUDDIN JEDDY",
                                "TO ASSIST THE VENUGOPAL"
                            ],
                            "ca_id": "4924",
                            "cnumber": "No3",
                            "sitting_time": "AT 2:15 PM",
                            "raw_text": "TO ASSIST THE ...",
                            "district": "GUNTUR",
                            "catype": "FOR HEARING",
                            "list": null,
                            "j_name": [
                                "R.SUBHASH REDDY",
                                "NOOTY RAMAMOHANA RAO"
                            ]
                        }
                    }
                },
                "24": {
                    "FOR ADMISSION": {
                        "4": {
                            "applicant": [
                                "SRI KODANDARAMI",
                                "RNOTICE SENT"
                            ],
                            "canumber": "NOT YET ",
                            "cainitialnumber": "16.",
                            "respodent": [
                                "KADAPA"
                            ],
                            "ca_id": "5063",
                            "cnumber": "No24",
                            "sitting_time": "AT 10:30 AM",
                            "raw_text": "NOTICE SENT THROUGH SPEED POST",
                            "district": null,
                            "catype": "FOR ADMISSION",
                            "list": "Daily List",
                            "j_name": [
                                "PRAVEEN KUMAR",
                                "PRAVEEN"
                            ]
                        },
                        "5": {
                            "applicant": [
                                "KODANDARAMI",
                                "SENT THROUGH SPEED."
                            ],
                            "canumber": "NOT YET SERVED",
                            "cainitialnumber": "16.",
                            "respodent": [
                                "KADAPA"
                            ],
                            "ca_id": "5908",
                            "cnumber": "No24",
                            "sitting_time": "AT 10:30 AM",
                            "raw_text": "NOT YET SERVED",
                            "district": null,
                            "catype": "FOR ADMISSION",
                            "list": "Daily List",
                            "j_name": [
                                "KUMAR",
                                "PRAVEEN KUMAR"
                            ]
                        },
                        "6": {
                            "applicant": [
                                "KODANDARAMI",
                                "NOTICE SENT THROUGH"
                            ],
                            "canumber": "NOT YET SERVED",
                            "cainitialnumber": "16.",
                            "respodent": [
                                "KADAPA"
                            ],
                            "ca_id": "6229",
                            "cnumber": "No24",
                            "sitting_time": "AT 10:30 AM",
                            "raw_text": "NOT YET SERVED",
                            "district": null,
                            "catype": "FOR ADMISSION",
                            "list": "Daily List",
                            "j_name": [
                                "KUMAR",
                                "PRAVEEN KUMAR"
                            ]
                        },
                        "7": {
                            "applicant": [
                                "KODANDARAMI",
                                "NOTICE SENT THROUGH SPEED."
                            ],
                            "canumber": "NOT YET SERVED",
                            "cainitialnumber": "16.",
                            "respodent": [
                                "KADAPA"
                            ],
                            "ca_id": "5516",
                            "conumber": "No24",
                            "sitting_time": "AT 10:30 AM",
                            "raw_text": "NOT YET SERVED",
                            "district": null,
                            "catype": "FOR ADMISSION",
                            "list": "Daily List",
                            "j_name": [
                                "KUMAR",
                                "PRAVEEN KUMAR"
                            ]
                        }
                    }
                },
                "currentdate": "2015-08-07"
            }
        ]

You should use objectForKey: method of NSDictionary to get certain data. If your keys are dynamic you can get all keys with allKeys method for NSDictionary . My suggestion is create an modal object for

                   "applicant": [
                            "KODANDARAMI",
                            "NOTICE SENT THROUGH SPEED."
                        ],
                        "canumber": "NOT YET SERVED",
                        "cainitialnumber": "16.",
                        "respodent": [
                            "KADAPA"
                        ],
                        "ca_id": "5516",
                        "conumber": "No24",
                        "sitting_time": "AT 10:30 AM",
                        "raw_text": "NOT YET SERVED",
                        "district": null,
                        "catype": "FOR ADMISSION",
                        "list": "Daily List",
                        "j_name": [
                            "KUMAR",
                            "PRAVEEN KUMAR"
                    ]

Load with the data using mentioned methods. Then create an other object for all your data. It could be a response object (I'm assuming you got this data from server). Load this object with all data in dictObject again using mentioned methods.

Now you just need to create a UITableView and load cells with using your objects.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM