---
title: initWithArray
framework: kernel
role: pseudoSymbol
path: kernel/osset/1808200-initwitharray
---

# initWithArray

Initializes a new OSSet populated with the contents of an OSArray.

## Declaration

```occ
virtual bool initWithArray( 
 const OSArray *array, 
 unsigned int capacity = 0); 
```

## Parameters

- `array`: An OSAray whose contents will be placed in the new instance.
- `capacity`: The initial storage capacity of the new set object. If 0, the capacity is set to the number of objects in array; otherwise capacity must be greater than or equal to the number of objects in array.

## Return Value

Return Value true on success, false on failure.

## Overview

Overview Not for general use. Use the static instance creation method withArray instead. array must be non-NULL. If capacity is nonzero, it must be greater than or equal to count. The new array will grow as needed to accommodate more key-object pairs (unlikeCFMutableSet, for which the initial capacity is a hard limit). The objects in array are retained for storage in the new set, not copied.

## See Also

### Miscellaneous

- [containsObject](kernel/osset/1808031-containsobject.md)
- [copyCollection](kernel/osset/1808046-copycollection.md)
- [ensureCapacity](kernel/osset/1808068-ensurecapacity.md)
- [flushCollection](kernel/osset/1808084-flushcollection.md)
- [free](kernel/osset/1808104-free.md)
- [getAnyObject](kernel/osset/1808128-getanyobject.md)
- [getCapacity](kernel/osset/1808152-getcapacity.md)
- [getCapacityIncrement](kernel/osset/1808173-getcapacityincrement.md)
- [getCount](kernel/osset/1808189-getcount.md)
- [initWithCapacity](kernel/osset/1808213-initwithcapacity.md)
- [initWithObjects](kernel/osset/1808221-initwithobjects.md)
- [initWithSet](kernel/osset/1808228-initwithset.md)
- [isEqualTo(const OSMetaClassBase *)](kernel/osset/1808235-isequalto.md)
- [isEqualTo(const OSSet *)](kernel/osset/1808239-isequalto.md)
- [member](kernel/osset/1808245-member.md)
- [merge(const OSArray *)](kernel/osset/1808250-merge.md)
- [merge(const OSSet *)](kernel/osset/1808253-merge.md)
- [removeObject](kernel/osset/1808257-removeobject.md)
- [serialize](kernel/osset/1808260-serialize.md)
- [setCapacityIncrement](kernel/osset/1808264-setcapacityincrement.md)
- [setObject](kernel/osset/1808269-setobject.md)
- [withArray](kernel/osset/1808277-witharray.md)
- [withCapacity](kernel/osset/1808282-withcapacity.md)
- [withObjects](kernel/osset/1808287-withobjects.md)
- [withSet](kernel/osset/1808291-withset.md)
