Nithin
Nithin

Reputation: 6475

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

Upvotes: 4

Views: 4494

Answers (1)

kennytm
kennytm

Reputation: 523254

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++).

Upvotes: 10

Related Questions