---
title: "NSHashInsertIfAbsent(_:_:)"
framework: foundation
role: symbol
role_heading: Function
path: "foundation/nshashinsertifabsent(_:_:)"
---

# NSHashInsertIfAbsent(_:_:)

Adds an element to the specified hash table only if the table does not already contain the element.

## Declaration

```swift
func NSHashInsertIfAbsent(_ table: NSHashTable<AnyObject>, _ pointer: UnsafeRawPointer?) -> UnsafeMutableRawPointer?
```

## Return Value

Return Value If pointer matches an item already in table, returns the preexisting pointer; otherwise, pointer is added to the table and returns NULL.

## Discussion

Discussion You must not specify NULL for pointer.

## See Also

### Related Documentation

- [NSHashInsertKnownAbsent(_:_:)](foundation/nshashinsertknownabsent(_:_:).md)
- [NSHashRemove(_:_:)](foundation/nshashremove(_:_:).md)
- [NSHashInsert(_:_:)](foundation/nshashinsert(_:_:).md)

### Functions

- [NSAllHashTableObjects(_:)](foundation/nsallhashtableobjects(_:).md)
- [NSCompareHashTables(_:_:)](foundation/nscomparehashtables(_:_:).md)
- [NSCopyHashTableWithZone(_:_:)](foundation/nscopyhashtablewithzone(_:_:).md)
- [NSCountHashTable(_:)](foundation/nscounthashtable(_:).md)
- [NSCreateHashTable(_:_:)](foundation/nscreatehashtable(_:_:).md)
- [NSCreateHashTableWithZone(_:_:_:)](foundation/nscreatehashtablewithzone(_:_:_:).md)
- [NSEndHashTableEnumeration(_:)](foundation/nsendhashtableenumeration(_:).md)
- [NSEnumerateHashTable(_:)](foundation/nsenumeratehashtable(_:).md)
- [NSFreeHashTable(_:)](foundation/nsfreehashtable(_:).md)
- [NSHashGet(_:_:)](foundation/nshashget(_:_:).md)
- [NSHashInsert(_:_:)](foundation/nshashinsert(_:_:).md)
- [NSHashInsertKnownAbsent(_:_:)](foundation/nshashinsertknownabsent(_:_:).md)
- [NSHashRemove(_:_:)](foundation/nshashremove(_:_:).md)
- [NSNextHashEnumeratorItem(_:)](foundation/nsnexthashenumeratoritem(_:).md)
- [NSResetHashTable(_:)](foundation/nsresethashtable(_:).md)
