編輯推薦
《Swift語言實戰晉級》深入挖掘Swift語言的使用規律。省略過多講述基礎語法的篇幅,從而把重點放在實踐上,通過豆瓣電颱、跑酷熊貓、圍住神經貓多個案例來與大傢一同研究如何用Swift製作有趣的應用和遊戲。
在51CTO學院、SwiftV課堂發布的相關教學視頻可配閤使用。
《Swift語言實戰晉級》中使用的圖片素材、代碼包均在綫共享。
51CTO傳媒總裁熊平、51CTO學院高級運營經理曹亞莉、SwiftV課堂創始人周鑫、泰課在綫創始人杜增強、天地君道培訓創始人黑羽鼎力推薦。
書內附贈51CTO學院100金幣的學習卡、SwiftV課堂90元代金券。
本書附贈的51CTO學院100金幣課程學習卡如遇到無法使用、卡片遺漏等任何問題,請聯係mahan@ptpress.com.cn,我們將盡快為您解決。
內容簡介
《Swift語言實戰晉級》主要通過大量實例來講解Swift語言在軟件開發中的實際應用方法。《Swift語言實戰晉級》共9章,前2章快速講述Swift的基礎內容,即開發環境的搭建和Swift的基礎語法。由於本書是晉級篇,故不再大篇幅講解基礎內容。第3~6章以UIKit控件為主要內容,通過拖拖看小遊戲、豆瓣電颱、任務提醒軟件幾個案例來充分鞏固UIKit從基礎到高級的知識體係,其中還會涉及網絡數據讀取、圖片緩存等技術。第7~9章我們共同聊一聊SpriteKit的應用,以圍住神經貓、跑酷熊貓兩個實例來講述2D遊戲的開發技術。《Swift語言實戰晉級》適閤對Swift語言的基礎內容有一定瞭解的讀者提升實戰技能。
作者簡介
老鎮,本名曾偉,勤勞碼農一名,擅長iOS遊戲與應用開發。擁有十餘年研發經驗,是國內最早一批Swift研究者。51CTO學院、SwiftV課堂熱門講師。Swift係列視頻教程《跑酷熊貓》、《豆瓣電颱》和《Swift動畫編程指南》的原作者。
精彩書評
★《Swift語言實戰晉級》理論與實踐相結閤,嚮讀者展示瞭Swift的語法、UIKit和SpriteKit等的使用方法。它是一座精彩的Swift實踐城堡。本書配有相關教學視頻,同步講解。書內案例中的素材和代碼均在綫共享,讓你真正做到學以緻用。
——51CTO傳媒總裁 熊平 ★Swift因其語法簡單、使用方便、可與OC混閤使用等特性,讓廣大開發者興奮不已。一時之間各種Swift入門視頻、教程興起,相信經過瞭這麼長時間的入門學習,大傢到瞭需要提高實戰技能的時候瞭,《Swift語言實戰晉級》從Swift的語言精要、用Swift控製UIKit控件及Swift實戰(包含基於UIKit的應用實例和基於SpriteKit的遊戲編程)三部分幫助大傢提升Swift語言實戰能力。不管你是Swift語言初學者,還是有一定編程經驗的開發者都可以把它當作案頭工具書。
——51CTO學院高級運營經理 曹亞莉 ★Swift正在改變iOS的開發生態,《Swift語言實戰晉級》並不局限於理論介紹,而是采用瞭“項目驅動”的方式來講授知識點,提供瞭多個項目實例,極具參考價值。《Swift語言實戰晉級》不僅適閤作為初級開發者的入門教程,同時也可作為高級開發者參閱的工具書。 —
—SwiftV課堂創始人 周鑫 ★《Swift語言實戰晉級》通過多個遊戲和應用來講解Swift的語法、UIKit和SpriteKit等的使用方法,內容由淺入深,以實際案例解析和鞏固知識點,是一本不可多得的好書。同時,《Swift語言實戰晉級》將作為泰課在綫Swift課程官方指定教材使用。 —
—泰課在綫聯閤創始人 杜增強 ★書品如人品。老鎮與我相識多年,勤敏敦厚。以“項目驅動”為理念,進行各方嚮探索和技術研究,重實際,廣博而得其味。今於新秀Swift有心得而集成冊,相信一定能大有益於學人!作為朋友,至誠推薦! —
—天地君道培訓創始人 黑羽 目錄
第1章 Swift開發環境的搭建
1.1 下載Xcode
1.2 關於Mac操作係統
第2章 Swift語法速讀
2.1 基礎知識
2.1.1 變量與常量
2.1.2 注釋
2.1.3 整數
2.1.4 浮點數
2.1.5 類型推測
2.1.6 數值型類型轉換
2.1.7 布爾值
2.1.8 元組
2.1.9 可選類型
2.1.10 斷言
2.2 基本運算符
2.2.1 賦值運算符
2.2.2 數值運算
2.2.3 自增(自減)運算
2.2.4 復閤賦值
2.2.5 比較運算
2.2.6 三元運算符號
2.2.7 區間
2.2.8 邏輯運算
2.2.9 括號優先級
2.3 字符串和字符
2.3.1 字符串
2.3.2 字符
2.4 集閤類型
2.4.1 數組
2.4.2 字典
2.5 流程控製
2.5.1 for循環
2.5.2 while循環
2.5.3 條件語句
2.5.4 控製轉移語句
2.6 函數
2.7 閉包
2.8 枚舉
2.9 類和結構體
2.10 屬性
2.11 方法
2.12 下標
2.13 繼承
2.14 構造過程
2.15 析構過程
2.16 自動引用計數
2.17 可選鏈
2.18 類型轉換
2.19 類型嵌套
2.20 擴展
2.21 協議
2.22 泛型
2.23 訪問控製
2.24 高級運算符
第3章 基礎UIKit控件概覽
3.1 創建工程及基本操作
3.1.1 創建Single View Application工程
3.1.2 基本操作
3.2 Button(按鈕)
3.2.1 Button控件的基本屬性
3.2.2 Button實例:各類按鈕
3.3 Label
3.3.1 Label控件的基本屬性
3.3.2 Label實例:各類文本標簽
3.4 TextField
3.4.1 文本框控件的屬性
3.4.2 實例:登錄界麵
3.4.3 實例:加法計算器
3.5 TextView
3.5.1 多行文本框的屬性
3.5.2 實例:自定義選擇內容後的菜單
3.6 Switch
3.6.1 文本框控件的屬性
3.6.2 Switch控製TextView的可編輯屬性
3.7 SegmentedControl
3.7.1 Segmented Control的屬性
3.7.2 Segmented Control實例
3.8 ImageView
3.8.1 圖像控件的基本屬性
3.8.2 圖像控件實例
3.9 ProgressView
3.9.1 進度條控件的屬性
3.9.2 進度條控件的實例
3.10 ActivityIndicator View
3.10.1 環形進度條的基本屬性
3.10.2 環形進度條實例
3.11 Slider
3.11.1 拖動條的基本屬性
3.11.2 實例:拖動條控製圖片透明度
3.12 AlertView
3.12.1 警告框的基本屬性
3.12.2 實例:各式各樣的警告框
3.13 ActionSheet
3.13.1 底部警告框的基本屬性
3.13.2 底部警告框的實例
3.14 DatePicker
3.14.1 日期選擇器的基本屬性
3.14.2 日期選擇器的實例
3.15 PickerView
3.15.1 選擇器的一些屬性
3.15.2 選擇器的實例
3.16 Stepper
3.16.1 步進器器的一些屬性
3.16.2 實例:屬性加點器
3.17 WebView
3.17.1 網頁視圖控件的一些屬性
3.17.2 實例:迷你網頁瀏覽器
3.18 Toolbar與Bar Button Item
3.18.1 工具條的一些屬性
3.18.2 Bar Button Item的一些屬性
3.18.3 工具條的實例
3.19 TableView
3.19.1 TableView的一些屬性
3.19.2 TableView的一個簡單例子
3.20 SearchBar
3.20.1 搜索條的簡單屬性
3.20.2 搜索條的簡單例子
3.20.3 Search Bar and Search Display Controller例子
3.21 NavigationBar
3.21.1 導航條的實例
3.22 NavigationController
3.22.1 導航控製器的屬性
3.22.2 導航控製器實例
3.23 TabBar
3.23.1 TabBar的一些屬性
3.23.2 TabBarItem的一些屬性
3.23.3 TabBar實例
3.24 TabBar Controller
3.24.1 TabBar Controller實例
3.25 Page View Control
3.25.1 Page View Controller屬性
3.25.2 Page View Controller實例
第4章 拖拖看小遊戲
4.1 構建主界麵
4.2 基本變量和更新函數
4.3 獲取滑塊的數值並與目標值進行比較
4.4 重頭開始玩遊戲
4.5 新增得分規則界麵實現跳轉
4.6 自定義界麵
第5章 豆瓣電颱
5.1 動手之前先做一些準備
5.2 實現界麵
5.3 設置TableView
5.4 異步獲取網絡數據
5.5 緩存縮略圖
5.6 改變封麵圖
5.7 播放歌麯
5.8 選擇歌麯頻道
5.9 Cell的顯示動畫
5.10 播放時間與播放進度
5.11 簡單的手勢控製播放與暫停
5.12 最後的細節
第6章 任務提醒軟件
6.1 軟件預覽
6.2 創建項目
6.3 設計Cell
6.4 動態展示Cell
6.5 簡述MVC
6.6 Model初體驗
6.7 導航控製器
6.8 界麵跳轉
6.9 處理新界麵的一些細節
6.10 編輯任務類彆
6.11 本地保存數據
6.12 加載本地數據
6.13 重新規劃界麵
6.14 任務類型的Model
6.15 動態設置任務列錶界麵的Title
6.16 增加和編輯任務類型
6.17 任務類型的本地化保存
6.18 數據保護措施
6.19 重構Model
6.20 數據本地化NSUserDefaults
6.21 計算還有多少個需要提醒的任務
6.22 任務類型列錶排序
6.23 添加任務類型的圖標
6.24 對應用做一些美化
6.25 任務截止時間
6.26 添加日期選擇器
6.27 本地消息通知
第7章 SpriteKit 簡介
7.1 簡單聊一聊
7.1.1 聊一聊SKNode
7.1.2 聊一聊SKScene
7.1.3 聊一聊紋理
7.1.4 聊一聊動作(Action)
7.1.5 聊一聊物理係統
7.2 如何學習SpriteKit
7.2.1 創建SpriteKit項目
7.2.2 創建
第一個場景
7.2.3 往場景中添加內容
7.2.4 讓文本動起來
7.2.5 場景的轉換
7.2.6 使用SKSpriteNode
7.2.7 添加燈光
7.2.8 物理係統
第8章 遊戲實戰-圍住神經貓
8.1 遊戲預覽
8.2 創建遊戲項目
8.3 創建背景
8.4 創建圓點類
8.5 在場景中生成圓點
8.6 神經貓的類
8.7 尋路
8.8 留個小作業
第9章 遊戲實戰-跑酷熊貓
9.1 創建遊戲工程以及導入素材
9.2 創建熊貓類
9.3 顯示一個動態的熊貓
9.4 熊貓的跳和打滾
9.5 踩踏平颱是怎麼煉成的
9.6 創建平颱類以及平颱工廠類
9.7 平颱的移動
9.8 産生源源不斷的移動平颱
9.9 移除場景之外的平颱
9.10 視差滾動背景
9.11 歡迎進入物理世界
9.12 與平颱的碰撞
9.13 二段跳的實現
9.14 熊貓的打滾動作
9.15 起跳特效
9.16 蘋果以及蘋果工廠類
9.17 計分闆
9.18 下沉和升降的平颱
9.19 加速度
9.20 重置遊戲
9.21 聲音類
9.22 修復小bug
後記
精彩書摘
4.2 基本變量和更新函數 當我們完成瞭界麵的設置,就要思考一下代碼方麵怎麼編寫。我們從主界麵上看到我們需要一個目標數字,我們用targetValue來儲存它。還需要一個變量用來記錄滑塊拖動的位置,用來和targetValue作比較,這個變量我們命名為currentValue。從主界麵上,我們看到還需要兩個變量用來存儲總分數和總迴閤數,我們可以將它們命名為score和round。 //目標數字 var targetValue :Int = 0 //拖到的數字 var currentValue :Int = 0 //總分數 var score :Int = 0 //總迴閤數 var round = 0 目標數字每個迴閤隨機生成,範圍是1至100的整數。 最後我們需要寫一個函數用來生成目標數字和更新界麵上的targetLabel,scoreLabel,roundLabel的數字。 //界麵顯示更新函數 func updateLabels(){ //目標值 targetValue = Int(1 + arc4random()%100) //給界麵上的目標label賦值 targetLabel!.text = String(targetValue) //給總分label賦值 scoreLabel!.text = String(self.score) //迴閤數+1 round++ //給總迴閤數label賦值 roundLabel!.text = String(self.round) //重置滑塊的值 slider!.value = 50 } arc4random()這個全局函數會生成9位數的隨機整數,對它100取模(%)運算就會得到0至99的之間的隨機數,加上1就得到瞭1至100的隨機數。 這時候我們可以來運行一下程序看看效果,因為程序一啓動就開始要有個目標值,所以我們的updateLabels函數在viewDidLoad函數內就要運行一次,viewDidLoad函數就是在界麵加載完畢的時候運行的函數,代碼如下: override func viewDidLoad() { super.viewDidLoad() //首次運行時生成目標值並更新labels updateLabels(); } ……
前言/序言
Swift語言實戰晉級 下載 mobi epub pdf txt 電子書 格式