1、如果你想成為一個iOS開發者,你仍然需要學習Objective-C。
你不可以用Swift做任何事情。舉個例子,如果你想在你的應用程序中使用一個C++庫,你需要告訴Objective-C你使用C++的庫。Swift可以調用C函數,但我相信如果你有很多C的函數和類型,你會想用Objective-C編程的。
Objective-C的社區論壇。在StackOverflow和iOSdev博客中有成千上萬的Objective-C的片段。Objective-C在過去的六年中被我們用來描述自己是怎么樣去應用CocoaTouth庫工作的。如果你不能讀Objective-C,你就不能理解這知識的寶庫。
Theframeworks是用Objective-C編寫的。當你有一個bug,它經常不露頭直到執行到Apple‘s代碼的深處。如果你想理解調試器告訴你什么,你需要了解Objective-C。
Objective-C很穩定且測試良好的。Swift看起來很好,但是這個語言還在不斷的發展中,并且編譯器是不成熟的。如果今年我做出了一個重大的賭注去開發一個APP,我仍然會使用Objective-C。
2、Objective-C比Swift更容易學習。
C是一種很簡單的小語言,Objective-C是非常簡單的對于C的小擴展語言。Swift擁有很多Objective-C所沒有的規則(我,作為一個導師,我已經嘗試著去弄清楚我將如何解釋這些可選的變量和如何正確使用。)這些額外的規則意味著編譯器關于良好的編程實踐將會更加講究,但是這也同時意味著,這門語言需要更長的時間去學習。
Objective-C要求編程明確。Swift語言讓編譯器為程序員做了更多的工作。這對程序員是非常好的,對嗎?但是,這意味著當你去看一行代碼的時候,如果沒有對語法有深入的了解是不會看出太多的。明確的語言是更容易讓初學者理解的。
Swift有一堆結構體而Objective-C是沒有的。例如,在Swift中,泛型讓類型檢查更好。但是它使語言變得更加的復雜。
3、一旦你學習了Objective-C,學習Swift就很容易了。
當Objective-C和Swift進行交互時,Apple讓Swift很像Objective-C。在Objective-C中難理解的像對象,強弱引用和繼承等,在Swift中也是很難的。在Swift中只是使用了不用的語法表達。
真的,無論你首先學習哪一種語言,你都需要學習這兩種語言。
——————————
互聯網時代的技術工匠