swift类

端木高邈
2023-12-01

Swift中类和结构体有很多共同点。共同处在于:


   定义属性用于储存值

   定义方法用于提供功能

   定义下标用于通过下标语法访问值

   定义初始化器用于生成初始化值

   通过扩展以增加默认实现的功能

   符合协议以对某类提供标准功能


   相对于结构体来说,类是引用类型。结构体是值拷贝类型。类的对象是指针的引用,赋值也只是创建一个指针对象,指向同样的内存区域。而值拷贝是完全不同的拷贝一份对象,和源对象截然不同。


   

   恒等操作符 ===  !===

   用来判断两个对象是否指向同一个对象。

    //=========类的哈希.如果要使用类的对象作为key值,那么就要实现hash方法

    

    class SomeObj: NSObject {

        

        var name = "";

        override class func hash()-> Int{

            

            return "hello".hash;

        }

        

    }


       //集合类型对象之间的赋值和拷贝

          /* 

           数组是基于结构体实现的,但是数组在进行赋值时,只有在3种情况下,会发生拷贝行为。

           1> 数组的长度发生变化

           2> unshare,copy 去掉,数组和字典的行为一致了,都是值类型,

          */



 类似资料: