Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

你的程式開發初體驗 (以Swift為例)

2.303 visualizaciones

Publicado el

一直想學習程式語言,卻不知道從何下手嗎?想在最短的時間內體驗開發流程,學習最重要的基本概念嗎?
「彼得潘的 App異想世界- 你的程式開發初體驗」課程,以淺顯易懂的 Swift 語言介紹程式開發的基本概念,讓你第一次學寫程式就上手!

Publicado en: Móvil
  • Sé el primero en comentar

你的程式開發初體驗 (以Swift為例)

  1. 1.  你的程式開發初體驗  (Swift)   講師:彼得潘   [08/15]
  2. 2. 彼得潘簡介 App程式設計⼊入⾨門:iPhone.iPad Swift程式設計⼊入⾨門 正職: 作家 副業: 專欄作家,⼯工程師,講師,顧問,家教,創業家
  3. 3. 20幾款APP
  4. 4. 相關教學資源 http://www.facebook.com/iphone.peterpan http://deeploveapple.blogspot.tw apppeterpan@gmail.com https://github.com/AppPeterPan/It-s-all-about- App/wiki/It's-all-about-App FB粉絲團 blog iOS學習資源wiki http://deeploveiossdk.tumblr.com英⽂文wiki email medium https://medium.com/@apppeterpan http://swiftbook.strikingly.com
  5. 5. 程式語⾔言是什麼? ⼈人類和電腦溝通的語⾔言 利⽤用程式語⾔言,命令電腦做事 切記: 電腦智⼒力100,運動0分,
 它可以計算和林志玲表⽩白成功的機率, 卻無法幫我們跑腿買便當
  6. 6. 其實 電腦只懂 0 & 1 程式語⾔言最後會被轉換為0 & 1 ⼆二進位
  7. 7. 程式執⾏行 CPU讀取記憶體中的程式碼執⾏行 程式執⾏行時,資料暫存於記憶體 永久保存的資料需寫⼊入檔案
  8. 8. 為什麼學Swift https://blog.alphacamp.co/2015/07/27/for-swift-beginners/
  9. 9. 開發前的準備
  10. 10. 硬體上的準備 • Mac • PC上裝破解的Mac作業系統 (不建議) Macbook Air Mac Mini 記憶體愈多愈好 CPU影響程式編譯速度 $:⼀一萬多
  11. 11. Xcode App StoreFree Apple ID登⼊入 https://itunes.apple.com/app/xcode/id497799835
  12. 12. Xcode https://developer.apple.com/xcode/downloads/ 搶先下載尚未公開的最新beta版 可直接下載,無需登⼊入
  13. 13. Xcode playground Swift練功的秘密花園
  14. 14. 建⽴立playground ⽅方法⼀一 ⽅方法⼆二
  15. 15. 設定名稱和平台
  16. 16. playground主畫⾯面 程式碼編輯區塊 結果即時顯⽰示區塊
  17. 17. 整數和浮點數 ⼼心算⼗十段的數學神童
  18. 18. 數學神算 加減乘除 整數和浮點數 負數 結果⾏行⾏行對應
  19. 19. 練習 1的平⽅方加2的平⽅方,⼀一路加到9的平⽅方
  20. 20. 字串 中英⽇日樣樣通的語⾔言奇才
  21. 21. 語⾔言天才 字串相加以" " 包含字串內容
  22. 22. Emoji & Symbols
  23. 23. 錯誤字串
  24. 24. 發現錯誤: 紅⾊色驚嘆號
  25. 25. 遇錯即停下腳步的膽⼩小 playground 不會執⾏行 由上⽽而下執⾏行,遇錯即中斷
  26. 26. 變數 說變就變的記憶⼤大師
  27. 27. 宣告變數儲存資料 可變 關鍵字: var age佔據某個記憶體空間 記憶體位址落落⻑⾧長,沒⼈人記得起來, 所以我們需要好記的變數名稱
  28. 28. ⼤大⼩小寫有差
  29. 29. 變數名不能重覆
  30. 30. 儲存不同的型別資料
  31. 31. 專⼀一 ⼀一⽣生只愛某⼀一型 沒結果就是事情⼤大條了 ! age只能儲存Int 更安全
  32. 32. 報錯的Console Output
  33. 33. 像柯南⼀一樣聰明 ⾃自動推理型別
  34. 34. 明明⽩白⽩白我的型別 內建型別: Int,String,Double 還有許許多多不同的型別,可儲存不同資料 甚⾄至還可以⾃自⼰己發明新的型別
  35. 35. 練習 宣告3個變數,分別儲存⾃自⼰己⾼高中聯考的數學,英⽂文,國⽂文分數 分數相加除以3求平均
  36. 36. 字串置換⼤大法 (變數名 ) http://margaret1122.pixnet.net/blog/post/39111405-【台北好咖啡】台灣最貴的咖啡茶館? 國⽗父紀
  37. 37. 練習 我的名字是xxx,年齡xxx,⾝身⾼高xxx,... 宣告變數 以字串置換⾃自我介紹:
  38. 38. 如果你是我的傳說 真的還是假的 (if else)
  39. 39. 擇偶條件
  40. 40. ⽐比較運算⼦子 < <= > >= == !=
  41. 41. else
  42. 42. else if
  43. 43. 多個條件,多層if 擇偶條件怎麼可能只有⼀一個
  44. 44. &&: 全部滿⾜足,缺⼀一不可
  45. 45. ||: 知⾜足,只要⼀一個滿⾜足就好
  46. 46. 判斷順序: 由左⽽而右
  47. 47. 改變順序
  48. 48. ⽐比較字串是否⼀一樣
  49. 49. 變數⽣生存的區間 message只存在 { } 裡
  50. 50. 練習 以if else描述⾃自⼰己的擇偶條件 需⽤用到else,多層if,&&, || 認真研讀penny的擇偶條件歌詞,以程式表達 http://mojim.com/twy105574x1x1.htm
  51. 51. 迴圈 反覆練習的好學⽣生
  52. 52. 1+2+3,⼀一路加到 1000 加到1000 ? 全部打完可以下課了 ! 不能說的秘密: 愈厲害的⼯工程師,其實愈懶惰
  53. 53. for迴圈 ⼀一千次 初始條件 繼續執⾏行的條件 每⼀一次的變化
  54. 54. for迴圈 i = 1, i<= 1000 i = 2, i<= 1000 i = 1000, i<= 1000 sum = sum + 1000 sum = sum + 1 sum = sum + 2 i = 1001, i<= 1000 不成⽴立
  55. 55. 顯⽰示結果的⼤大眼睛 折線圖 移動折線圖上顯⽰示結果的點
  56. 56. 顯⽰示結果的⼤大眼睛 最終結果 歷史記錄
  57. 57. 漂亮的內嵌顯⽰示
  58. 58. 不同的變化條件
  59. 59. 無間道的無間地獄 無窮迴圈 佛曰:「受身無間者永遠不死,壽長乃無間地獄中之⼤大劫。︒」
  60. 60. 無窮迴圈 永遠不回頭,永遠不結束 App閃退
  61. 61. while迴圈 while後設定繼續執⾏行的條件
  62. 62. 練習 1. 計算1的平⽅方加2的平⽅方,⼀一路加到100的平⽅方,分別以for & while實作 2. 計算2的平⽅方加4的平⽅方,⼀一路加到100的平⽅方,分別以for & while實作 (偶數的平⽅方)
  63. 63. 函數 重覆利⽤用的懶⼈人法寶
  64. 64. 沒有function的苦⽇日⼦子
  65. 65. 定義和呼叫function func 名稱 ( ) { 程式碼區塊 }+ + + function裡的變數,只存在 { }裡 定義 呼叫 function名稱 + ( )
  66. 66. 定義不完的function
  67. 67. 接受參數的function 參數名 : 型別+ + 更彈性
  68. 68. 接受多個參數的function
  69. 69. 回傳資料的function
  70. 70. Swift Standard Library Function 內建function
  71. 71. 練習 定義function,接受3個參數,起始值,最⼤大值和每次累加值, 回傳運算結果 例⼦子: 起始值 10, 最⼤大值 20,每次累加值3 10 + 13 + 16 + 19 = 58
  72. 72. 類別和物件
  73. 73. 沒有物件的凌亂世界 許許多多的變數記錄寶寶們的資訊
  74. 74. 類別和物件 不⽤用懷胎⼗十⽉月,也能⽣生出寶寶物件
  75. 75. 類別: class
  76. 76. 物件的誕⽣生
  77. 77. 定義屬性 愈多屬性,佔據愈多記憶體
  78. 78. 讀取物件屬性 變數名 屬性名 .+ +
  79. 79. 修改物件屬性 變數名 屬性名 .+ + = 新值+ +
  80. 80. 練習 ⽣生了n個寶寶 (可以是真的,也可以是幻想的) 設定每個寶寶的名字,星座,體重,⾝身⾼高,年齡 定義寶寶類別,包含名字,星座,體重,⾝身⾼高,年齡等屬性
  81. 81. 定義物件能⼒力的⽅方法 (method) 其實是function,只是住在類別 { } 裡
  82. 82. 呼叫⽅方法 呼叫⽅方法時需包含參數名稱 (第⼀一個參數例外) Swift 2.0時,function也採取⼀一樣的規則 物件變 數名 ( .+ + )⽅方法名 參數+ + + 需透過物件呼叫
  83. 83. 為何要包含參數名 -> 增加可讀性 700克 ? 700元?
  84. 84. 如何判斷是呼叫⽅方法或 存取屬性 有( ): 呼叫⽅方法 無( ): 存取屬性
  85. 85. ⽅方法裡可存取物件⾃自⼰己 的屬性 self: 物件⾃自⼰己
  86. 86. 指到物件的屬性 彼得潘養的可愛兔⼦子⽩白彼得
  87. 87. • 看到的按鈕,圖⽚片都是物件 • 物件的播放⾳音樂method,
 使得App可以播放⾳音樂 • 歌名是⿊黑⾊色,是因為物件的
 ⽂文字顏⾊色屬性設為⿊黑⾊色 • iOS SDK定義各式各樣不同功
 能的類別,⽐比⽅方顯⽰示地圖,
 播放⾳音樂,顯⽰示網⾴頁
 App裡的物件
  88. 88. 練習 在前⾯面練習定義的寶寶類別裡定義function 建⽴立寶寶物件並呼叫其function
  89. 89. 陣列和字典 收藏眾多資料的置物箱
  90. 90. 沒有array,變數超多的 悲慘世界 100個⼥女朋友名字變數 100個學⽣生分數變數
  91. 91. 找出班上第⼀一名 課堂練習
  92. 92. 領取號碼牌,乖乖排隊的 array [ 開始, ] 結尾, , 分隔, 容納無限多的成員 以號碼存取成員,號碼從0開始
  93. 93. 不存在的號碼 當掉 !Array index out of range
  94. 94. 修改array成員 ⼼心太軟,為了⼈人⼈人及格,調⾼高學⽣生分數
  95. 95. 新增array成員 補考,新增學⽣生分數 append: insert: 加到尾巴 加到某個特定位置 array是struct struct類似類別,也有屬性和⽅方法
  96. 96. 移除array成員 退學
  97. 97. array成員個數
  98. 98. array和for的結合 找出班上第⼀一名 練習
  99. 99. array和for的結合 找出班上第⼀一名 找出最後⼀一名
  100. 100. array和for in的結合 找出班上第⼀一名
  101. 101. 練習 定義學⽣生類別,包含名字和分數2個屬性 建⽴立包含5個學⽣生物件的array 建⽴立包含5個學⽣生物件的array 1. 利⽤用for in,算出平均分數和找出分數最⾼高學⽣生的名字和分數 2. 將array排序,學⽣生物件照分數由⼤大排到⼩小
 (假設原本的array,學⽣生分數並未由⼤大排到⼩小)
  102. 102. 利⽤用for in,算出平均分數和找出分數最⾼高學⽣生的名字 和分數 class Student { var grade = 60 var name = "peter" } var student1 = Student() var student2 = Student() student2.grade = 80 student2.name = "Jack" var student3 = Student() student3.grade = 90 student3.name = "penny" var students = [student1, student2, student3] var maxGrade = 0 var maxName = "" var sum = 0 for student in students { sum = sum + student.grade if student.grade > maxGrade { maxGrade = student.grade maxName = student.name } } maxGrade maxName var average = sum/students.count
  103. 103. array排序
  104. 104. 像字典⼀一樣⽅方便搜尋的 dictionary array不⽅方便搜尋,要利⽤用迴圈從頭開始找
  105. 105. 像字典⼀一樣⽅方便搜尋的 dictionary nil : 查不到資料 key (索引) 和 value (值)
  106. 106. dictionary的修改和新增

×