Swift中的指针操作和使用详细介绍

2020-01-08 22:46:29于丽

// voidPtr 是 UnsafePointer<Void>。相当于 C 中的 void *  
// 转换回 UnsafePointer<Int>  
var intPtr = unsafeBitCast(voidPtr, UnsafePointer<Int>.self)  
intPtr.memory //100  

 

总结

Swift从设计上来说就是以安全作为重要原则的,虽然可能有些啰嗦,但是还是要重申在Swift中直接使用和操作指针应该作为最后的手段,它们始终是无法确保安全的。从传统的C代码和与之无缝配合的Objective-C代码迁移到Swift并不是一件小工程,我们的代码库肯定会时不时出现一些和C协作的地方。我们当然可以选择使用Swift重写部分陈旧代码,但是对于像是安全或者性能至关重要的部分,我们可能除了继续使用C API以外别无选择。如果我们想要继续使用那些API的话,了解一些基本的Swift指针操作和使用的知识会很有帮助。

对于新的代码,尽量避免使用Unsafe开头的类型,意味着可以避免很多不必要的麻烦。Swift给开发者带来的最大好处是可以让我们用更加先进的编程思想,进行更快和更专注的开发。只有在尊重这种思想的前提下,我们才能更好地享受这门新语言带来的种种优势。显然,这种思想是不包括到处使用 UnsafePointer的。



注:相关教程知识阅读请移步到swift教程频道。