Re: Finding object array index when iterating through array
Re: Finding object array index when iterating through array
- Subject: Re: Finding object array index when iterating through array
- From: Andreas Grosam <email@hidden>
- Date: Thu, 08 Mar 2012 09:29:53 +0100
On Mar 7, 2012, at 3:35 AM, Conrad Shultz wrote:
> On 3/6/12 12:42 PM, Prime Coderama wrote:
>> I have an array and I am iterating through it using this technique:
>>
>>> for (id object in array) {
>>> // do something with object
>>> }
>>
>> Is there way to obtain the object's current array index position or do I have to add a counter?
>>
>
> You could use [array indexOfObjectIdenticalTo:object].
>
> But I'm partial to block-based enumeration, which gives you the index
> "for free":
>
> - (void)enumerateObjectsUsingBlock:(void (^)(id obj, NSUInteger idx,
> BOOL *stop))block;
Unless I missed the newest compiler technologies which are capable to inline blocks straight into the loop, invoking a block is essentially a jump to another code section or is akin a function call. This isn't free at all and prevents several optimizations by the compiler ;)
Andreas
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden