Updated 30 April 2021
A pointer is an object that stores a memory address. In Swift, there are 8 types of pointers. In Swift, pointers are known as UnsafePointer
because they support direct operations on memory and these operations are unsafe in nature that’s why a Unsafe
prefix is used with Pointers in swift.
They can be categories into the following types:
You use instances of the UnsafePointer
type to access data of a specific type in memory. The type of data that a pointer can access is the pointer’s Pointee
type. UnsafePointer
provides no automated memory management or alignment guarantees. You are responsible for handling the life cycle of any memory you work with through unsafe pointers to avoid leaks or undefined behavior.
IMMUTABLE | MUTABLE |
UnsafePointer<T> |
UnsafeMutablePointer<T> |
UnsafeBufferPointer<T> |
UnsafeMutableBufferPointer<T> |
UnsafeRawPointer |
UnsafeMutableRawBufferPointer |
UnsafeRawBufferPointer |
UnsafeRawBufferPointer |
1 2 3 4 5 6 7 |
let ptr = UnsafeMutablePointer<Int>.allocate(capacity: 4) ptr.initialize(repeating: 1, count: 4) print(ptr.pointee) // 1 ptr[1] = 2 print(ptr[1]) // 2 |
It is used to accesses the instance referenced by this pointer.
1 |
var pointee: Pointee { get } |
When reading from the pointee
property, the instance referenced by this pointer must already be initialized.
Thank you for reading this article. If you want to read more articles regarding iOS Development click here or if you want to know more about the pointers click here.
If you have more details or questions, you can reply to the received confirmation email.
Back to Home
Be the first to comment.