开发者

get the array index in for statement in objective-c

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.开发者_如何学C

Isn't there a similar approach in objective c?

How else could I achieve this? Please help! :((


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];
}


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++
}


for (i=0;i<array.count;i++)
{
  NSLog(@"Index=%d , Value=%@",i,[array objectAtIndex:i]);
}

Use this its simpler...

hAPPY cODING...


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);
}


int arraySize = array.count;
// No need to calculate count/size always
for (int i=0; i<arraySize; i++)
{
    NSLog(@"Index=%d , Value=%@",i,[array objectAtIndex:i]);
}
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜