加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Swift 结构体简单学习

发布时间:2020-12-14 06:41:15 所属栏目:百科 来源:网络整理
导读:定义 /// 这里我定义了一个结构体类型 /// 结构体类型是一个新的Siwft类型 (命名类似于 Int Double) /// 用来描述一个人的所带属性 name = "" age = 0 struct PersonStruct { var name = " " var age = 0 } /// 接下来我定义了一个类 /// 其中包含PersonStru

定义

/// 这里我定义了一个结构体类型
    /// 结构体类型是一个新的Siwft类型 (命名类似于 Int Double)
    /// 用来描述一个人的所带属性 name = "" age = 0
    struct PersonStruct {
        var name = " "
        var age = 0
    }
    /// 接下来我定义了一个类
    /// 其中包含PersonStruct结构体类型
    class Person{
        var personstruct = PersonStruct()
        var habbit = " "
    }

实例化

/// 其中PersonStruct 和Person定义了抽象的PersonStruct,Person,接下来我们进行实例化
    /// 结构体和类都使用构造器语法来生成新的实例,在结构体名和类名后加()
    let personStruct = PersonStruct()
    let person = Person()

属性访问

/// 属性访问
    print("The PersonStruct Name is (personStruct.name)")
    /// 属性赋值操作
    /// 可以直接访问结构体的子属性
    person.personstruct.name = "summmerxx"
    person.habbit = "love coding"
    print("person->personstruct->name is (person.personstruct.name) habbit is (person.habbit)")

结构体赋值的例子

let obj = PersonStruct(name: "summerxx2",age: 18)
    var obj1 = obj
    /// 把obj1.name 修改为暖暖
    obj1.name = "暖暖"
    /// 接下来我们来看看
    print("obj name is (obj.name)") // summerxx2
    print("obj1 name is (obj1.name)") // 暖暖
    /// 在将 obj 赋予给 obj1 的时候,实际上是将 obj 中所存储的值(values)进行拷贝. 只是单纯的进行值拷贝 

再看看类

/// 类的操作
    let personObj = Person()
    personObj.habbit = "Beatiful things"

    let personObj1 = personObj
    personObj1.habbit = "Not habbit"

    print("personObj habbit is (personObj.habbit)") // Not habbit
   /// 在将 personObj 赋予给 personObj1 的时候,实际上是将 personObj 存储的地址值进行拷贝.

接下来看看使用场景,究竟什么情况下使用结构体,在Objective-C开发的时候,用于数据存储我一般都是使用类,也就是MVC中的Model

  • 结构体的主要目的是用来封装少量相关简单数据值。
  • 有理由预计一个结构体实例在赋值或传递时,封装的数据将会被拷贝而不是被引用。
  • 任何在结构体中储存的值类型属性,也将会被拷贝,而不是被引用
  • 结构体不需去继承另一个已存在类型的属性或者行为。

总结: Siwft 结构体简单学习就到这,待补充~

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读