objective c - Fast Enumeration on an NSArray category for NSIntegers -


since use nsinteger arrays frequently, wrote category nsarray (and 1 nsmutablearray too) adds methods such integeratindex:, arraybyaddinginteger:, etc. methods take care of wrapping/unwrapping nsinteger in nsnumber object.

what i'm wondering whether there way can enhance category can fast enumeration on nsintegers. able write:

nsarray* arrayofintegers;     .     .     .  for(nsinteger nextinteger in arrayofintegers)     {     } 

….so "nextinteger" pulled out of nsnumber object behind scenes. can this?

i doubt there clean way of doing nsfastenumeration, heavily depends on nextobject method.

but, in way, adding block method it:

@interface nsarray (integers) -(void)eachinteger:(void(^)(nsinteger))block; @end  @implementation nsarray (integers) -(void)eachinteger:(void(^)(nsinteger))block {   (nsnumber *num in self) {     block(num.integervalue);   } } @end 

that way, use in code in similar way:

nsarray *arr = [nsarray arraywithobjects:[nsnumber numberwithint:23],                                          [nsnumber numberwithint:42],                                          nil]; ... [arr eachinteger:^(nsinteger i) {   nslog(@"the int %i", i); }]; // => //    int 23 //    int 42 

perhaps might want take @ nsarray categories on lumumba framework, happens written me :d


Comments

Popular posts from this blog

jquery - Invalid Assignment Left-Hand Side -

java - Play! framework 2.0: How to display multiple image? -

gmail - Is there any documentation for read-only access to the Google Contacts API? -