從C#到Swift,Swift學習筆記

  最近在學習IOS,我一直使用的是C#來開發,對Java 、C、C++也有必定的瞭解。最近入手了一臺Air,想試着學習IOS開發。數組

  若是你不是C#和Java陣營的,若是你對Swift沒有興趣,就不用往下看了,真的!函數

  

  一開始個人目標很明確,那就是學習OC,應爲此語言通過多年的普遍應用,網上源代碼不少,並且遇到的問題在百度和Google裏也能很容易的找到資料,因此我一開始是奔着OC去的,可是幾天的視頻看下來,發現這OC語法只能用奇葩二字來形容,也許是我用慣了C#和Java的語法,也許是我我的的問題,反正我很討厭OC的語法規則。學習

  接着我試着看了一下Swift語言,發現Swift與OC的語法差異很大,反而根C#、Java的語法很是類似,簡直是太像了。這個不像是蘋果的做風啊,呵呵。spa

  我一邊在學習Swift,一邊寫這個文章,我呢是想到什麼寫些什麼,文章結構會亂點,不過應該不會對閱讀有太大的影響。code

  寫文章的目的是想讓從C#和Java陣營對IOS開發有興趣的朋友能夠看一下,相對於C#和Java來講Swift有哪些不一樣和類似之處,以便你們可以更好更快的學習Swift!視頻

  首先,咱們來看看Swift前景。對象

  一、蘋果公司將在2016年發佈的IOS10和OS X系統中的系統應用,徹底用Swift語言開發blog

  二、Swift語言參考C、JavaScript、Python、Java、C#(易用、高效、靈活)ip

  三、Swift版本迭代在加快開發

  四、15年年末開源

  得出:OC終有一天會退出歷史舞臺,就像被拋棄的孩子,我想不少OC開發者應該已經意識到了。可是OC開發者徹底轉去學習Swift會很不習它的語法,反而C#、Java的開發者能很快上手!!!!

  廢話講完了,下面我來羅列一下Swift語法與C#的語法有哪些類似與不一樣之處(Java和C#差很少,我以C#做爲參考),我會不按期更新這個文章,會寫清楚時間節點。

----------------------------------------------2015-7-11----------------------------------------------

  語句結束符號(;)

    Swift語法中語句末尾能夠省略(;)號,可是你加上此(;)也不會出錯,我的習慣問題,仍是寫上吧,我有強迫症。

//Swift中能夠這樣,末尾不加分號照樣不報錯,與JavaScript像不像?
var i = 0
var n = 0;

//C#中的狀況,第一行會報錯,告訴你少了分號
int i = 0
int n = 1;

  變量的定義

    Swift中參數類型根據值自動識別,若是須要手動定義變量類型(未賦值初始值)的狀況下格式爲:  變量名 : 類型

//-------Swift中的狀況(說明:var 變量、let 常量)
//自動識別的狀況
var i = 1        //自動識別i爲整型Int
var k = 3.1415        //自動識別k爲Double
var m = "Hello World!"        //自動識別m爲String
//手動申明類型的狀況
var p : String        //申明p爲字符串(記得後面要初始化)
var q : Int = 1       //q爲整型

//-------C#中的狀況
string p;
int q = 1;

//也就是多了個冒號,而後變量名和類型位置換了一下

  Swift中的元組,這個是好東西

  元組是什麼,它能幹什麼,帶來什麼方便(也許我把元組放這裏講不合適,可是既然我想到了,就放這吧)

  一、元組的出現可讓我在方法結束時一次返回多個變量,而不用去定義一個結構體或New一個對象進行返回

  二、元組能夠做爲單獨的結構定義

  接下來讓咱們來看一下如何定義元組

//-----Swift中元組定義
var a = ("你好喬布斯",2015,true,3.1415926)
//a值的結構應該是這樣的(String,Int,Bool,Double)
//那麼咱們如何來解開它呢?兩種方法
//第一種"a.下標",下標就是括號中值的順序從0開始,PASS OC開發中這個叫點語法,我笑了,OC真是個大雜燴啊 

var a1 = a.0 //a1自動識別爲String 且值爲"你好喬布斯"

var a2 = a.1 //a2自動識別Int 2015

//第二種方法

var (k1,k2,k3,k4) = a //那麼k1 = a0 , k2 = a1 看的懂了吧
//等下面講到函數(方法)的時候再來說元組

  Swift中的邏輯語句

//Swift中能夠這樣寫if else語句(注:>=、<=、<、>、!=、||、&&一樣也存在於Swift中)
if 1==1
{
    語句塊1     
}
else
{
    語句塊2
}
//C#和Java開發者是否是感受少了什麼?沒錯,括號()
//那麼咱們加上括號對不對呢?沒問題,照樣對
if(1==1)
{
    語句快
}

  For循環語句,和C#跟沒差異

//---------Swift中的For語句(後面還會講for in)
//沒有圓括號
for var i = 0;i<1000;i++
{
    println(i);
}
//有圓括號
for(var k=0;k<1000;k++)
{
    println(k)
}

   For in

//-----Swift 中的遍歷
var arr2 = [];                //定義空數組,在這裏說明一下
var arr = [1,2,3,4,5,6,7,8,9,0];   //數組定義,類型是自動識別 ,Int數組
for m in arr    //變量m每次循環自動識別類型,因此這裏不須要var了
{
    println(m);    //打印
}
//下面這個是和for循環同樣的--> for var k = 0;k<1000;k++
for m in 0...1000
{
    println(m)
}

//-----C#中的 foreach 我就不在這裏舉例了

  強類型轉換

//-----Swift中
var age = Int("21");

//-----C#中
int age = int.parse("21");

//或者

int age = (int)"21";

  三目運算符

//Swift中三目運算符和C#一致
var a = 1==1 ? 2 : 3 ;    //結果a的值爲2

 

 

今天就先寫到這裏吧,有點晚了~~下次再補充 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

相關文章
相關標籤/搜索