How to iterate & retrieve values from NSArray of NSArrays of NSDictionaries

Posted by chinjazz on Stack Overflow See other posts from Stack Overflow or by chinjazz
Published on 2013-06-25T03:58:58Z Indexed on 2013/06/25 4:21 UTC
Read the original article Hit count: 144

Filed under:
|
|
|

I'm stumpped on how iterate and get values for an Array of Arrays of NSDictionaries (different classes/entities). Here's what I'm currently doing:

1) Constructing two separate arrays of NSDictionaries (different entities) 2) Combining both arrays with:

NSMutableArray *combinedArrayofDicts = [[NSMutableArray alloc] initWithObjects: sizesArrayOfDicts, wishListArrayOfDicts , nil];

3) Then archive combinedArrayofDicts :

NSData *dataToSend = [NSKeyedArchiver archivedDataWithRootObject:combinedArrayofDicts];

4) Transmit over GameKit

[self.session sendDataToAllPiers:dataToSend withDataMode: GKSendDataReliable error:nil];

5) How would I manage traversing thru this array on the receiving end? I want to fetch values by for each class which is key'ed by classname:

Here's how it looks via NSLog (2 Sizes Dicts, and 1 Wishlist Dict)

Printing description of receivedArray:
<__NSArrayM 0xbc65eb0>(
<__NSArrayM 0xbc651f0>(
{
    classname = Sizes;
    displayOrder = 0;
    share = 1;
    sizeType = Neck;
    value = "13\" or 33 (cm)";
},
{
    classname = Sizes;
    displayOrder = 0;
    share = 1;
    sizeType = Sleeve;
    value = "34\" or 86 (cm)";
}
)
,
<__NSArrayM 0xbc65e80>(
{
    classname = Wishlist;
    detail = "";
    displayOrder = 0;
    imageString = "";
    latitude = "30.33216666666667";
    link = "http://maps.google.com/maps?q=loc:30.332,-81.41";
    longitude = "-81.40949999999999";
    name = bass;
    share = 1;
    store = "";
}
)
)
(lldb)

In my for loop I'm issuing this:

NSString *value = [dict objectForKey:@"classname"];

and get an exception:

* Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSArrayM objectForKey:]: unrecognized selector sent to instance 0xbc651f0'

Is this frowned upon as far as mixing object types in arrays of arrays?

© Stack Overflow or respective owner

Related posts about ios

Related posts about arrays