swift学习日志—— 结构体和类

swift学习日志—— 结构体和类,第1张

概述//结构体和枚举都是值类型,即值类型被赋予给一个变量、常量或者被传递给一个函数的时候,其值会被拷贝。 //类是引用类型,与值类型不同,引用类型在被赋予到一个变量、常量或者被传递到一个函数时,其值不会被拷贝。因此,引用的是已存在的实例本身而不是其拷贝。 //恒等运算符 /* 等价于(===) 不等价于(!==) 请注意,“等价于”(用三个等号表示,===)与“等于”(用两个等号表示,==)的不同:

//结构体和枚举都是值类型,即值类型被赋予给一个变量、常量或者被传递给一个函数的时候,其值会被拷贝。

//类是引用类型,与值类型不同,引用类型在被赋予到一个变量、常量或者被传递到一个函数时,其值不会被拷贝。因此,引用的是已存在的实例本身而不是其拷贝。

//恒等运算符

/*

等价于(===

不等价于(!==

请注意,等价于(用三个等号表示,===)与等于(用两个等号表示,==)的不同:

等价于表示两个类类型(class type)的常量或者变量引用同一个类实例。

等于表示两个实例的值相等相同,判定时要遵照设计者定义的评判标准,因此相对于相等来说,这是一种更加合适的叫法。

*/

let instance = VIDeoMode()

var instance2 = instance

instance2.height = 5

if instance===instance2{

print("等价")

}

//===“等价于表示两个类类型(class type)的常量或者变量引用同一个类实例,比较的是类型。


Swift和Objective-C的不同点

//Swift 中,许多基本类型,诸如StringArrayDictionary类型均以结构体的形式实现。这意味着被赋值给新的常量或变量,或者被传入函数或方法中时,它们的值会被拷贝。

//Objective-C NsstringNSArrayNSDictionary类型均以类的形式实现,而并非结构体。它们在被赋值或者被传入函数或方法时,不会发生值拷贝,而是传递现有实例的引用。

总结

以上是内存溢出为你收集整理的swift学习日志—— 结构体和类全部内容,希望文章能够帮你解决swift学习日志—— 结构体和类所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1081452.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存