NSArray

From GNUstepWiki

(Difference between revisions)
Revision as of 15:54, 21 April 2006
Cbv (Talk | contribs)
NSArray of course is in Foundation, not AppKit...
← Previous diff
Revision as of 00:13, 5 April 2007
Kendall (Talk | contribs)
Creating Arrays - added - See Also - added
Next diff →
Line 1: Line 1:
-Well ... array.+[http://www.gnustep.org/resources/documentation/Developer/Base/Reference/NSArray.html#class$NSArray NSArray] is a immutable, integer indexed, array of objects.
 + 
 +== Creating Arrays ==
 + 
 +=== From a List ===
 + 
 +The most common method to create a array is to just pass it a list:
 + 
 + NSArray *array = [NSArray arrayWithObjects: @"John", @"Bob", [NSNull null], @"Jane"];
 + 
 +When creating arrays remember that any kind of object can be included, but only objects can be included.
 + 
 +=== Copy Array ===
 + 
 +A copy of an array can be done simply by doing the following:
 + 
 + NSArray *array1 = [NSArray arrayWithObjects: @"John", @"Bob", [NSNull null], @"Jane"];
 + NSArray *array2 = [NSArray arrayWithArray: array1];
 + 
 +=== From a Array ===
 + 
 +An array object can be made with a regular array of objects, as shown in the following example:
 + 
 + id array1[4] = {@"John", @"Bob", [NSNull null], @"Jane"};
 + NSArray *array2 = [NSArray arrayWithObjects: array1 count: 4];
 + 
 +Count being the number of objects from the array to be used.
== Code chunks == == Code chunks ==
Line 26: Line 52:
return AUTORELEASE(retval); return AUTORELEASE(retval);
} }
 +
 +== See Also ==
 +
 +*[[NSMutableArray]]
 +*[[NSEnumerator]]
[[Category:Foundation]] [[Category:Foundation]]
[[Category:Snippets]] [[Category:Snippets]]

Revision as of 00:13, 5 April 2007

NSArray is a immutable, integer indexed, array of objects.

Contents

Creating Arrays

From a List

The most common method to create a array is to just pass it a list:

 NSArray *array = [NSArray arrayWithObjects: @"John", @"Bob", [NSNull null], @"Jane"];

When creating arrays remember that any kind of object can be included, but only objects can be included.

Copy Array

A copy of an array can be done simply by doing the following:

 NSArray *array1 = [NSArray arrayWithObjects: @"John", @"Bob", [NSNull null], @"Jane"];
 NSArray *array2 = [NSArray arrayWithArray: array1];

From a Array

An array object can be made with a regular array of objects, as shown in the following example:

 id array1[4] = {@"John", @"Bob", [NSNull null], @"Jane"};
 NSArray *array2 = [NSArray arrayWithObjects: array1 count: 4];

Count being the number of objects from the array to be used.

Code chunks

Create index dictionary

Following NSArray category method creates a dictionary which works as an index by an attribute of contained objects. It uses Key Value Coding.

- (NSDictionary *)indexDictionaryForKey:(NSString *)key
{
   NSMutableDictionary *dict = [[NSMutableDictionary alloc] init];
   NSDictionary        *retval;
   NSEnumerator        *enumerator;
   id                   object;

   enumerator = [self objectEnumerator];

   while( (object = [enumerator nextObject]) )
   {
       [dict setObject:object forKey:[object valueForKey:key]];
   }

   retval = [[NSDictionary alloc] initWithDictionary:dict];
   RELEASE(dict);
   
   return AUTORELEASE(retval);
}

See Also