視頻是15年做的,Swift3.0還是有些改動的。比如函數(shù)參數(shù),++運算符,以及Array的初始化方法等。 運算符的重載等。也不是smalltalk那個體系的,沒有根類。引用計數(shù)跟OC基本類似,沒大的變化。 與C++的同中求異的地方在思維導圖中都標出來了。 關于將函數(shù)參數(shù)聲明為inout: 首先在swift中默認是傳值,且類型為let。(有點類似于effective C++中要求參數(shù)const)。 其次:對于引用對象(也就是非基礎類型)。inout就沒必要了吧。傳值過程中傳遞的指針的值,這必然是不會改變的。指針指向的對象可變
PRefix Operator+++{}prefix func +++{inout data:Complex}->Complex{ data+=data; return data;}在上面代碼里就算不聲明inout data的值一樣會改變。這樣來看inout只是針對基本類型來說的。將希望改變的對象參數(shù)聲明為inout 只能說是一種顯示說明,方便客戶。 還有以下幾個問題:因為用的playground,暫時還不知道swift中文件間的數(shù)據(jù)如何傳遞,不在一個文件中的方法如何調(diào)用~。下周有時間看下吧~
新聞熱點
疑難解答