01-Swift 介紹

?

簡介

  • Swift 語言由蘋果公司在 2014 年推出,用來撰寫 OS X 和 iOS 應用程序
  • 2014 年,在 Apple WWDC 發布
    • 幾家歡喜,幾家愁
    • 愁者:只學Object-C的人
    • 歡喜者:之前做過java/python/js語言的人

歷史

  • 2010 年 7 月,蘋果開發者工具部門總監?Chris Lattner?開始著手 Swift 編程語言的設計工作
  • 用一年時間,完成基本架構
  • Swift 大約歷經 4 年的開發期,2014 年 6 月發表
  • 克里斯·拉特納何許人?
    • LLVM 項目的主要發起人與作者之一
    • Clang 編譯器的作者
    • 蘋果公司『開發者工具』部門的主管
    • 領導Xcode、Instruments等編譯器團隊
    • Swift的大部分基礎架構均由他1人完成
    • 評價:
      • 大神中的大神
      • 牛逼中的牛逼

特點

  • 特點

    • 從它的語法中能看到Objective-C、JavaScript、C#、Python等語言的影子
    • 語法簡單、代碼簡潔、使用方便
    • 可與Objective-C混合使用(相互調用)
    • 提供了類似 Java 的名字空間(namespace)、泛型(generic)、運算對象重載(operator overloading)
  • 為什么設計Swift語言

    • 讓應用開發更簡單、更快、更穩定
    • 確保最終應用有著更好的質量

Swift與Objective-C

  • 是否要從0開始呢?
    • 很多人有個疑惑,新的Swift語言一出,大家都要從開始學語法
    • 現在使用Objective-C的iOS程序員 跟 其他行業的非iOS程序員站在了同一條起跑線?大家從零開始
  • 個人觀點
    • Swift是一門新的語言,語法難度對每個程序員都差不多,從學習Swift的語法角度看,大家是站在同一條起跑線
    • 從使用Swift做iOS開發的角度看,使用Objective-C的老牌iOS程序員更占優勢,因為從Objective-C轉為Swift去做iOS開發,僅僅是書寫的格式變換了,iOS開發的步驟、思想、框架,都沒有改變

現狀

  • 目前有些公司的新項目已經直接采用 Swift 開發
  • 目前很多公司已經在做 Swift 的人才儲備
  • 應聘時,會 Swift 開發?無疑會增加自身籌碼
  • 但是國內大部分公司還在觀望

重要性

  • 蘋果目前在大力推廣Swift
  • 斯坦福大學的公開課目前也是使用Swift在授課.因為以后Swift必將代替OC
  • 題外話:我們同學去面試,面試官問是否會Swift,如果會,我們下個項目直接用Swift來寫.你可以教我們Swift.
  • 個人建議:
    • 先掌握Swift最基本的語法
    • 高級/特殊的功能隨著學習的深入再深入研究
    • 千萬不要浮躁(前面班級經驗)
      • Swift并不難
      • 但是語法和OC區別非常非常大
      • 如果是一個聽一聽,聽不懂就算了的心態.一定是學不好的
      • 如果想要學習,就認真聽講,好好練習

資源網站

  • 《The Swift Programming Language》中文版?http://numbbbbb.gitbooks.io/-the-swift-programming-language-/

  • swifter 作者王巍,需要付費購買?http://onevcat.com

轉載于:https://www.cnblogs.com/mgmingmingjiushini/p/5413265.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/257349.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/257349.shtml
英文地址,請注明出處:http://en.pswp.cn/news/257349.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

2017—2018 實驗報告:實驗一

實驗一:實驗報告 課程:程序設計與數據結構 班級: 1623 姓名: 張旭升 學號:20162329 指導教師:婁嘉鵬 王志強 實驗日期:9月25日 實驗密級: 非密級 預習程度: 已預習 必修/…

病床呼叫系統有顯示屏c語言,病床呼叫系統畢業設計

內容介紹完整版大學病床呼叫系統畢業設計,已修改完格式摘 要醫院已經從人工管理模式向智能化方向發展。“病床呼叫系統”可以實現對病房的智能化管理,可實現呼叫、求救警報、信息存儲、顯示等等功能。患者在住院期間,可能會在任意時間請求醫…

1. mybatis批量插入數據

通過list <insert id"saveByList" useGeneratedKeys"true" parameterType"java.util.List"> insert into T_App_Default_User(UserID,AppType,CreateTime)values <foreach collection"list" item"item" index&quo…

iOS開發 - Swift實現清除緩存功能

前言: 開發移動應用時&#xff0c;請求網絡資源是再常見不過的功能。如果每次都去請求&#xff0c;不但浪費時間&#xff0c;用戶體驗也會變差&#xff0c;所以移動應用都會做離線緩存處理&#xff0c;其中已圖片緩存最為常見。 但是時間長了&#xff0c;離線緩存會占用大量的…

c語言結構體單元測試,C語言結構體單元練習.doc

C語言結構體單元練習1.有以下定義和語句&#xff1a;struct student{ int age;int num; };struct student stu[3]{{1001,20},{1002,19},{1003,21}};main(){ struct student *p;pstu;…… }則以下不正確的引用是 。A) (p)->num B) p C) (*p).num D) p&stu.age2.有以下結構…

如何開啟IIS7以上的“IIS6管理兼容性”

護衛神PHP套件的安裝&#xff0c;需要開啟“IIS6管理兼容性”&#xff0c; 那么&#xff0c;如何開啟IIS7、IIS7.5、IIS8.0的IIS6兼容模式呢&#xff1f; 設置的時候&#xff0c;請參照如下截圖&#xff1a; 本文轉自黃聰博客園博客&#xff0c;原文鏈接&#xff1a;http://www…

pop to 特定的UIViewController

1. 我們可以推出到特定的UIViewController 2. 有一個類沒有navigationController&#xff0c;以前一般用delegate&#xff0c;我覺得我們可以把引用一個navigationController&#xff0c;然后使用它來推出另一個UIViewController轉載于:https://www.cnblogs.com/studyNT/p/4486…

藍橋杯:矩陣翻硬幣

題目地址&#xff1a;http://lx.lanqiao.org/problem.page?gpidT126 這道題強烈建議用java做&#xff0c;畢竟自帶BigInteger類。 此題看似是一道模擬題&#xff0c;但由于數據規模很大&#xff08;10的1000次方&#xff09;&#xff0c;只能找規律。規律是最終結果為sqrt(n)*…

ssh服務端口轉發詳解

端口轉發的概念和應用什么是端口轉發呢&#xff0c;我們知道&#xff0c;SSH 會自動加密和解密所有 SSH 客戶端與服務端之間的網絡數據。但是&#xff0c;SSH 還同時提供了一個非常有用的功能&#xff0c;這就是端口轉發。它能夠將其他 TCP 端口的網絡數據通過 SSH 鏈接來轉發&…

W ndoWs文件夾窗口,如何在本地網絡中訪問-Synology-NAS-上的文件-(Wndows).pdf

如何在本地網絡中訪問-Synology-NAS-上的文件-(Wndows)如何在本地網絡中訪問 Synology NAS 上的文件 (Windows)概述Synology NAS 經過專門設計&#xff0c;可快速簡單地在本地網絡中存儲和共享文件&#xff0c;讓您直接訪問 SynologyNAS 上的文件而沒有每次登錄 DSM 的麻煩。例…

左移與右移

左移 無論被移動的數是有符號還是無符號&#xff0c;左移一位相當于乘2(在不溢出的情形下) 右移 對于無符號數&#xff0c;右移一位相當于除以2&#xff1b; 對于有符號數&#xff0c;如果還想獲得同樣右移除以2的效果&#xff0c;就要考慮算數右移&#xff0c;即符號位始終不變…

Serializing Lua objects into Lua Code

The following little snippet allows you to ‘pickle’ Lua objects directly into Lua code (with the exception of functions, which are serialized as raw bytecode). Metatable support is on the way, but for now, it should be useful enough. Example code: view s…

布局管理器android,Android課程---布局管理器之相對布局(一)

下面示例的是在父容器里如何設置按鈕的位置&#xff0c;難度&#xff1a;***&#xff0c;重點是找到一個主按鈕&#xff0c;設置它的id&#xff0c;然后根據它來設置其他按鈕在父容器的位置。代碼示例&#xff1a;android:layout_width"match_parent"android:layout_…

【Cocos2d-Js基礎教學 入門目錄】

本教程視地址頻在&#xff1a;九秒課堂 完全免費從接觸Cocos2dx-Js以來&#xff0c;它的綻放的絢麗讓我無法不對它喜歡。我覺得Js在不斷帶給我們驚喜&#xff1b;在開發過程中&#xff0c;會大大提升我們對原型開發的利用率&#xff0c;使用Js語言做游戲開發&#xff0c;使游戲…

Hammer.js移動端觸屏框架的使用

hammer.js是一個多點觸摸手勢庫&#xff0c;能夠為網頁加入Tap、Double Tap、Swipe、Hold、Pinch、Drag等多點觸摸事件&#xff0c;免去自己監聽底層touchstart、touchmove、touchend事件并且寫一大堆判斷邏輯的痛苦。hammer.js不但支持觸摸屏設備的瀏覽器&#xff0c;在桌面瀏…

Android實現筆記本修改功能,安卓12第二個開發者預覽版推出:UI、功能有所改進...

最近谷歌正式推出了Android 12的第二個開發者預覽版&#xff0c;帶來了很多UI和功能上的改進。首先最明顯的變化應該是鎖屏界面和下拉通知欄的音樂播放器。此前這部分UI的配色一直采用的是音樂專輯的主色調&#xff0c;但在Android 12上&#xff0c;這個配色變成了系統的強調色…

Delphi編譯報錯對照表

; not allowed before ‘ELSE’ → ElSE前不允許有“;” ” clause not allowed in OLE automation section → 在OLE自動區段不允許“”子句 ” is not a type identifier → 不是類型標識符 ” not previously declared as a PROPERTY → 前面沒有說明PROPERTY ‘GOTO ‘ lea…

C語言中Union類型的使用方法

轉自&#xff1a;http://blog.csdn.net/feimor/article/details/6858103 使用C語言時&#xff0c;常常使用struct&#xff0c;對于union類型卻幾乎沒有用過&#xff0c;只知道它是聯合類型&#xff0c;各字段共享一塊內存&#xff0c;實際應用中卻不知道它的具體用途。 今天讀《…

android 點對點語音,使用Android SIP Stack進行點對點SIP呼叫?

我一直被困在同樣的問題上.如果你可以在沒有android sip api的情況下制作它,你可以查看rtp api,它為你提供了一些較低級別的工具來制作P2P VOIP應用程序,而無需服務器.To support audio conferencing and similar usages, you need toinstantiate two classes as endpoints for…

拓撲排序

用兩種方式來實現 1、 深度優先搜索&#xff08;DFS&#xff09; 對有向圖采取深度優先搜索&#xff0c;并且在postVist處&#xff0c;打印所訪問的節點。最后打印出的字符序列的反序列正好滿足拓撲排序。&#xff08;可以在postVist&#xff08;&#xff09;方法中&#xff0c…