類和結(jié)構(gòu)體的簡(jiǎn)單理解

比我說得好比我說得好比我說得好,重要的說三遍

http://blog.csdn.net/hello_hwc/article/details/50102329

下面是自己的理解
1、類賦值

class SomeClass {
    var name : String?
    var age = 25
}

var oneClass = SomeClass()
oneClass.name = "牛大膽"
print(oneClass.age)
print(oneClass.name!)

var twoClass = oneClass
twoClass.name = "狗指導(dǎo)"
print("\(twoClass.name!)+\(oneClass.name!)")

//對(duì)象比較用===
if twoClass === oneClass {
    print("兩個(gè)相等")
}
image.png

可以看出類的賦值var twoClass = oneClass是淺copy,拷貝了指針。

2、結(jié)構(gòu)體賦值

struct SomeStruct {
    var anyClass = SomeClass()
    var company : String?
    var salary = 10000
    
}
var oneStruct = SomeStruct()
oneStruct.company = "百得康"
var twoStruct = oneStruct
twoStruct.company = "雙乾"
print("\(oneStruct.company!) -- \(twoStruct.company!)")
image.png

可以看出結(jié)構(gòu)體的賦值var twoStruct = oneStruct是深copy,拷貝了value。

3、基本類型String和NSMutableArray舉例

var companyName : String?
companyName = "雙乾"
var companyName2 = companyName
companyName2 = "百得康"
print("\(companyName!)--\(companyName2!)")

var nameArray : NSMutableArray?
nameArray = ["雙乾","百得康"]
var nameArray2 = nameArray
nameArray2!.add("聯(lián)康")
print("\(nameArray!)--\(nameArray2!)")
print("%p--%p",nameArray!,nameArray2!)
image.png

只能分享這些了,多的怕寫錯(cuò),以后理解更深了在補(bǔ)充

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容