---
title: alloc
framework: objectivec
role: symbol
role_heading: Type Method
path: objectivec/nsobject-swift.class/alloc
---

# alloc

Returns a new instance of the receiving class.

## Declaration

```occ
+ (instancetype) alloc;
```

## Return Value

Return Value A new instance of the receiver.

## Discussion

Discussion This is an instance variable of the new instance that is initialized to a data structure describing the class; memory for all other instance variables is set to 0. You must use an init... method to complete the initialization process. For example: TheClass *newObject = [[TheClass alloc] init]; Do not override alloc to include initialization code. Instead, implement class-specific versions of init... methods. For historical reasons, alloc invokes allocWithZone:.

## See Also

### Creating, Copying, and Deallocating Objects

- [allocWithZone:](objectivec/nsobject-swift.class/allocwithzone:.md)
- [init()](objectivec/nsobject-swift.class/init().md)
- [copy()](objectivec/nsobject-swift.class/copy().md)
- [copyWithZone:](objectivec/nsobject-swift.class/copywithzone:.md)
- [mutableCopy()](objectivec/nsobject-swift.class/mutablecopy().md)
- [mutableCopyWithZone:](objectivec/nsobject-swift.class/mutablecopywithzone:.md)
- [dealloc](objectivec/nsobject-swift.class/dealloc.md)
- [new](objectivec/nsobject-swift.class/new.md)
