Hey everyone;
I am stuck in a stupid mess...
I want to get not only the value of an array but also the index of the values.
In PHP it's simple: foreach($array as $key->$value)
Here $key will contain the index value.
Isn't there a similar approach in objective c?
How else could I achieve this?
Please help! :((
views:
87answers:
4
A:
I'm unable to test it, but I think I did do something similar the other night. From this wiki it looks like you can do something like
for(id key in d) {
NSObject *obj = [d objectForKey:key]; // We use the (unique) key to access the (possibly non-unique) object.
NSLog(@"%@", obj);
}
Aaron Hathaway
2010-09-13 14:04:42
+2
A:
If you're on iOS4 you can do
[array enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop)
{
NSLog(@"%@ is at index %u", obj, idx);
}];
on iOS 3.x you can do
NSUInteger idx = 0;
for (id obj in array)
{
NSLog(@"%@ is at index %u", obj, idx);
idx++
}
Joshua Weinberg
2010-09-13 14:04:45
Just curious, is `-objectForKey:` any better/worse than incrementing the variable `idx`?
Robert
2010-09-13 14:09:21
`objectForKey:` would only work for dictionaries. The discussion here was about arrays.
Joshua Weinberg
2010-09-13 14:32:42
+3
A:
Arrays not like in php are numbered 0-size of array. I guess you talking about dictionary's. If so you can get array of key with [dict allKeys]. so something like this should work:
for(id key in [dict allKeys]){
id value = [dict objectForKey:key];
}
GameBit
2010-09-13 14:05:02
Thanks :).. you're right...i was messed up with dictionary and arrays (because associative arrays in php are so much like dictionary in objective-c!). Now using dictionary, i can make use of key and its value!
Bangdel
2010-09-16 05:09:42
A:
for (i=0;i<array.count;i++)
{
NSLog(@"Index=%d , Value=%@",i,[array objectAtIndex:i]);
}
Use this its simpler...
hAPPY cODING...
Suriya
2010-09-13 14:06:01