美文网首页
Swift中指针

Swift中指针

作者: 凨弥 | 来源:发表于2019-04-09 13:44 被阅读0次

想用swift写一个socket,不想混编,踩过很多坑,以做纪录。swift中的指针不像oc中那样简单,有特殊的写法。

String

var str:String = "123"

let strP =  withUnsafePointer(to: &str) { return $0
 }
strP
print(strP)
func withUnsafePointer<T, Result>(to value: inout T, _ body: (UnsafePointer<T>) throws -> Result) rethrows -> Result


根据方法介绍,运用了泛类转换类型

类型转换地址转换


  func test1() {
        let address: String = "192.168.1.103"
        var port: Int32 = 16000
        var fd: Int32 = socket(AF_INET, SOCK_STREAM, 0)
        var serv_addr = sockaddr_in()
        serv_addr.sin_family = sa_family_t(AF_INET)
        serv_addr.sin_addr.s_addr = inet_addr(address)
        serv_addr.sin_port = in_port_t(port)
        let servaddr =  withUnsafePointer(to: &serv_addr) {
            return $0.withMemoryRebound(to: sockaddr.self, capacity: 1, {
                return $0
            })
        }
        
        
        let r = bind(fd, servaddr, socklen_t(MemoryLayout<sockaddr>.size))
        if r != 0 {
            print("绑定socket失败")
        }
        
        
    }

相关文章

  • Swift指针|内存管理

    一、Swift指针 1.Swift指针简介 swift中的指针分为两类 typed pointer 指定数据类型指...

  • swift pointer

    swift 指针 swift中的指针分为两类 typed pointer 指定数据类型指针,即 UnsafePoi...

  • Swift-进阶 04:指针

    本文主要介绍swift中的指针 swift中的指针分为两类 typed pointer 指定数据类型指针,即 Un...

  • Swift进阶 04:指针

    本文主要介绍Swift中的指针 Swift中的指针主要分为两类 typed pointer 指定数据类型的指针,即...

  • [转] Swift 中的指针使用

    原文Swift 中的指针使用

  • swift中的指针

    Swift 中的指针使用 本文转载自OneV's Den的blogApple 期望在 Swift 中指针能够尽量减...

  • Swift-04:指针

    今天我们来看看swift中的指针是如何如何使用的 swift中的指针分为两类 typed pointer 指定数据...

  • Swift 指针

    Swift 指针 前言 指针,作为编程中最重要的概念,一直存在于各大语言中,下面我们就来探索一下Swift中的指针...

  • Swift指针&内存管理

    一、指针    1、指针类型   Swift中的指针分为两类:指定数据类型的指针(typed pointer);未...

  • 纯代码讲解swift的指针

    swift的指针: Objective-C和C语言经常需要使用到指针。Swift中的数据类型由于良好的设计,...

网友评论

      本文标题:Swift中指针

      本文链接:https://www.haomeiwen.com/subject/tklmnftx.html