Swift 調用 Objective-C API 時,頻繁遇到 C 指針(int *、void *、函數指針)。Swift 用 UnsafeMutablePointer<T> 系列類型建模。
let bridge = PointerBridge() let ptr = bridge.getCountPtr() // UnsafeMutablePointerprint(ptr.pointee) // 23 bridge.setCount(1000) print(ptr.pointee) // 1000,同一內存地址
C/OC Swift 說明 int *UnsafeMutablePointer<Int32>可讀寫指針 const int *UnsafePointer<Int32>唯讀指針 void *UnsafeMutableRawPointer無類型指針 &var&var(inout)自動橋接 malloc/freeallocate/deallocate手動內存管理 常見坑與最佳實踐
Int 強轉為指針,必須 allocate 分配內存。pointee 訪問值,advanced(by:) 偏移指針(相當於指針算術)。withUnsafeMutablePointer 等作用域 API 自動管理。UnsafeMutablePointer 是 Swift 對 C 指針的類型安全封裝。理解「指針 = 內存地址 + 類型詮釋」,掌握 allocate/deallocate、pointee、withUnsafe... 模式,即可安全高效地與 C/Objective-C 庫互操作。