为了账号安全,请及时绑定邮箱和手机立即绑定

快速语言的结构与类

快速语言的结构与类

德玛西亚99 2019-12-10 13:08:43
苹果公司的书“结构和类之间最重要的区别之一是,结构在代码中传递时总是被复制,而类是通过引用传递的。”谁能让我明白这意味着什么,对我而言,类和结构似乎是相同的。
查看完整描述

3 回答

?
蝴蝶不菲

TA贡献1810条经验 获得超4个赞

类和结构都可以做到:

  • 定义属性以存储值

  • 定义提供功能的方法

  • 扩展

  • 符合协议

  • 定义初始化器

  • 定义下标以提供对其变量的访问

只有班级可以做到:

  • 遗产

  • 型铸

  • 定义反初始化器

  • 允许对多个引用进行引用计数。



查看完整回答
反对 回复 2019-12-11
?
慕村225694

TA贡献1880条经验 获得超4个赞

struct是值类型。这意味着,如果将结构的实例复制到另一个变量,则它只是复制到该变量。


值类型示例


struct Resolution {

    var width = 2

    var height = 3

}


let hd = Resolution(width: 1920, height: 1080)

var cinema = hd //assigning struct instance  to variable

println("Width of cinema instance is \(cinema.width)")//result is 1920

println("Width of hd instance is \(hd.width)")//result is 1920


cinema.width = 2048


println("Width of cinema instance is \(cinema.width)")//result is 2048

println("Width of hd instance is \(hd.width)")//result is 1920

类是引用类型。这意味着,如果将类的实例分配给变量,则它将仅保留对该实例的引用,而不包含副本。



查看完整回答
反对 回复 2019-12-11
  • 3 回答
  • 0 关注
  • 395 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信