---
title: retain
framework: kernel
role: pseudoSymbol
path: kernel/osobject/1941154-retain
---

# retain

Retains a reference to the object.

## Declaration

```occ
virtual void retain() const; 
```

## Overview

Overview This function increments the reference count of the receiver by 1. If you need to maintain a reference to an object outside the context in which you received it, you should always retain it immediately.

## See Also

### Miscellaneous

- [free](kernel/osobject/1941146-free.md)
- [getRetainCount](kernel/osobject/1941147-getretaincount.md)
- [init](kernel/osobject/1941148-init.md)
- [operator delete](kernel/osobject/1941149-operator_delete.md)
- [operator new](kernel/osobject/1941150-operator_new.md)
- [release()](kernel/osobject/1941151-release.md)
- [release(int)](kernel/osobject/1941153-release.md)
- [serialize](kernel/osobject/1941155-serialize.md)
- [taggedRelease(const void *)](kernel/osobject/1941156-taggedrelease.md)
- [taggedRelease(const void *, const int)](kernel/osobject/1941157-taggedrelease.md)
- [taggedRetain](kernel/osobject/1941158-taggedretain.md)
