Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Adding integer values as contents of an array,iphone

I need to store some integer values as the contents of an array. But when i try to do so, it throws a warning, passing argument 1 of 'addObject' makes pointer from integer without a cast. And obviously the value is not stored in the array. Here's thecode.

NSUInteger i;
for (i=0;i<5;i++){
 [array addObject:i];}
like image 237
Nithin Avatar asked Dec 30 '22 03:12

Nithin


1 Answers

NSArray-s cannot store non-id objects. You have to box it into an NSNumber:

NSUInteger i;
for (i=0;i<5;i++) {
   [array addObject:[NSNumber numberWithUnsignedInteger:i]];
}

or use a CFArray with custom callbacks (but you sacrifice readability for performance), or use std::vector<NSUInteger> (but you need to use Objective-C++).

like image 140
kennytm Avatar answered Jan 08 '23 12:01

kennytm