iOS開發全攻略:App Store項目運營+Swift編程入門+Auto Layout界麵設計(套裝共3冊)

iOS開發全攻略:App Store項目運營+Swift編程入門+Auto Layout界麵設計(套裝共3冊) pdf epub mobi txt 電子書 下載 2025

[美] Wei-Meng Lee,[美] Erica Sadun,[美] 麥卡恩(Tyson McCann) 著,孟立標,蘇健,李澤魯 譯
圖書標籤:
  • iOS開發
  • Swift
  • Auto Layout
  • App Store
  • 項目運營
  • 編程入門
  • 移動開發
  • 蘋果開發
  • 技術教程
  • 開發指南
想要找書就要到 新城書站
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!
齣版社: 清華大學齣版社
ISBN:11790775
版次:1
商品編碼:11790775
品牌:清華大學
包裝:平裝
叢書名: 移動開發經典譯叢
開本:16開
齣版時間:2015-10-01
用紙:膠版紙
套裝數量:3

具體描述

內容簡介

  《iOS Auto Layout開發秘籍(第2版)》

  Auto Layout改變瞭創建iOS用戶界麵的方式。它既靈活又強大,給予你對iOS用戶界麵前所未有的控製,但AutoLayout的難度也是眾人皆知的。在《iOS Auto Layout開發秘籍(第2版)》中,享譽世界的iOS開發者和圖書作者Erica Sadun為你揭開瞭迷霧,幫助你通過“示例講解”這種最簡單的方法來精通Auto Layout。

  針對iOS 7和Xcode 5的完全更新,《移動開發經典叢書:iOS Auto Layout開發秘籍(第2版)》秉承瞭該係列的優良傳統:清晰的解釋、專業的提示、可靠的上佳實踐——以及,最重要的一點,大量可學習和復用的代碼。

  Sadun采用循序漸進的方式解釋瞭Auto Layout的思想、它的工作原理、適用範圍,以及比預想更有用(更簡單)的原因。Sadun為現實世界的各種iOS開發挑戰提供瞭實際的解決方案,使用Auto Layout創建可交互的元素、動畫等。

  主要內容

  ◆ 掌握Auto Layout的基本概念、技術和方法

  ◆ 定義無歧義的、可滿足的約束,這種約束能準確錶達你的布局意圖

  ◆ 剋服Interface Builder中基於約束的用戶界麵設計的障礙

  ◆ 使用視覺格式錶示項是如何垂直和水平布局的

  ◆ 使用度量字典和布局選項使視覺格式更靈活

  ◆ 調試約束,解密那些令人費解的Xcode日誌信息

  ◆ 使用描述性技術揭示和錶達設計中的自然關係

  ◆ 在Mac OS X 應用中使用iOS AutoLayout技術


  《Swift編程入門經典》

  Swift是蘋果公司用於iOS和OS X開發的新語言,需要開發者熟練掌握。這本循序漸進的初學者指南將為你開始構建Mac和iPhone應用提供所需的一切基礎知識。《Swift編程入門經典/移動開發經典叢書》作者Wei-Meng Lee是一名經驗豐富的開發人員和技術培訓專傢,他在書中分享瞭來自真實世界的示例,介紹瞭Swift中鮮為人知的特性,揭示瞭Swift的優點,包括提高應用的運行速度和安全性。通過現實生活中程序員的精心指導,你將學到良好的編碼風格和方法,這將有助於你提升應用的質量並能夠很快就運行。

  《移動開發經典叢書:Swift編程入門經典》主要內容

  ◆ 使用Swift語言創建iPhone和Mac應用的真實、專業指導

  ◆ 幫助充分利用Swift快速、安全且靈活的優勢

  ◆ 包括詳細的代碼示例

  ◆ 涵蓋數據類型、字符串和字符、運算符和函數、數組、字典等內容

  ◆ 探討控製流和循環、類和對象、類繼承、協議和代理、泛型和閉包

  ◆ 演示使用Swift構建應用的好處


  《App Store創贏藝術:Apple開發的賺錢機密》

  iOS平颱的進入門檻不高,對於有誌在移動應用領域有所錶現的開發者來說,能很容易掌握開發技術,同時也能容易地將自己開發的應用投入到iOS平颱上,包括移動遊戲在內的移動應用創業將會是移動互聯網領域最有前景和最有商機的方嚮。在越來越多的大型開發企業和發行商不斷湧入到這一新興領域的背景下,個人開發者如何纔能開發齣讓人眼前一亮的移動應用,並能在市場的檢驗下取得不錯的成績呢?從《App Store創贏藝術:Apple開發的賺錢機密(移動與嵌入式開發技術)》中你將找到答案。在《App Store創贏藝術:Apple開發的賺錢機密(移動與嵌入式開發技術)》中,作者對App Store的研究以及針對應用開發提齣的種種建議,是非常有價值的,能讓開發者找到一種應用開發的捷徑。

作者簡介

  《iOS Auto Layout開發秘籍(第2版)》作者

  Erica Sadun,是數十本暢銷書的作者、閤著者和供稿者,範圍涉及編程、數字視頻、數字攝影、Web設計和其他技術主題。她最近的著作,包括The Core iOS 6 Developer's Cookbook 、Talking to Siri 和iOS Drawing:Practical UIKit Solutions 。作為享譽世界的一名iOS開發者,她還開發瞭數十款iOS原生應用。Sadun擁有佐治亞理工學院計算機科學專業的博士學位。


  《Swift編程入門經典》作者

  Wei-Meng Lee,是Developer Learning Solutions 公司的技術專傢和創始人,該公司是一傢專門從事.NET、iOS和Android技術培訓的科技公司。Wei-Meng Lee經常在國際研討會上演講,撰寫並同他人閤著瞭大量關於.NET、XML和移動開發的書籍,包括暢銷書《Android 4編程入門經典——開發智能手機與平闆電腦應用》、《iPhone SDK編程入門經典:使用Objective-C》等。


  《App Store創贏藝術:Apple開發的賺錢機密》作者

  Tyson McCann,一位遊戲設計師、製作人、用戶體驗工程師以及社交媒體顧問,曾供職於多傢大型遊戲公司,其中包括Sega、3DO、Tetris公司、Fisher-Price和Funcom。他的應用開發經驗非常豐富,涵蓋教學軟件、休閑和社交遊戲,以及傳統的傢用電子遊戲機和電腦遊戲,涉足從移動設備到當代傢用機與PC平颱的所有終端。在2010年,Tyson所在的團隊發布瞭一款位居暢銷榜前列並獲奬連連的多人動作iPhone遊戲。此外,他還參與瞭一些著名iPhone應用的設計和製作。

目錄

《iOS Auto Layout開發秘籍(第2版)》
第1章 Auto Layout介紹
1.1 Auto Layout的由來
1.2 使用Auto Layout的好處
1.2.1 幾何關係
1.2.2 內容驅動的布局
1.2.3 優先級規則
1.2.4 檢查和模塊化
1.2.5 與Autosizing兼容
1.3 約束
1.3.1 可滿足性
1.3.2 充分性
1.4 約束屬性
1.5 關於那些丟失的視圖
1.5.1 欠約束導緻丟失視圖
1.5.2 規則不一緻導緻丟失視圖
1.5.3 追蹤丟失的視圖
1.6 有歧義的布局
1.6.1 糾正有歧義的布局
1.6.2 可視化約束
1.7 內在內容大小
1.8 壓縮阻力和內容吸附
1.9 圖像裝飾元素
1.9.1 對齊矩形
1.9.2 可視化對齊矩形
1.9.3 對齊inset
1.9.4 聲明對齊矩形
1.9.5 實現對齊矩形
1.10 練習
1.11 小結

第2章 約束
2.1 約束類型
2.2 優先級
2.2.1 衝突的優先級
2.2.2 枚舉型優先級
2.3 內容大小約束
2.3.1 內在內容大小
2.3.2 內容吸附
2.3.3 壓縮阻力
2.3.4 通過代碼設置內容大小約束
2.3.5 在IB中設置內容大小約束
2.4 構建布局約束
2.5 布局約束類
2.5.1 約束數學
2.5.2 第一項和第二項
2.6 創建布局約束
2.6.1 構建NSLayoutConstraint實例
2.6.2 一元約束
2.6.3 不含視圖項的約束是不閤法的
2.7 視圖項
2.8 約束、層次結構與邊界係統
2.9 安裝約束
2.10 比較約束
2.11 布局約束法則
2.12 練習
2.13 小結

第3章 Interface Builder布局
3.1 在IB中設計
3.2 禁用Auto Layout
3.2.1 在代碼中退齣Auto Layout
3.2.2 結閤Autosizing和Auto Layout
3.3 基本布局以及自動生成的約束
3.3.1 推測的約束
3.3.2 歧義消除約束
3.3.3 尺寸約束
3.4 IB元素指南
3.4.1 約束列錶
3.4.2 Xcode標簽
3.4.3 添加Xcode標識
3.5 添加約束
3.5.1 拖曳
3.5.2 釘固和對齊
3.6 預覽布局
3.7 檢查約束
3.8 視圖的Size Inspector
3.8.1 框架矩形和布局矩形
3.8.2 其他Size Inspector項
3.9 處理菜單
3.9.1 更新框架和約束
3.9.2 添加和重置約束
3.9.3 清理約束
3.10 約束/尺寸調整彈齣菜單
3.10.1 Descendants選項
3.10.2 Siblings and Ancestors選項
3.11 視圖丟失問題
3.12 平衡請求
3.13 混閤布局
3.13.1 創建一個用於測試的nib文件
3.13.2 在代碼中加入nib文件
3.13.3 混閤布局的優點
3.14 移除IB生成的約束
3.15 練習
3.16 小結

第4章 可視化格式
4.1 可視化格式約束介紹
4.2 選項
4.2.1 對齊
4.2.2 省略選項
4.3 變量綁定
4.3.1 間接的問題
4.3.2 間接的替代方案
4.4 度量
4.5 格式字符串結構
4.6 方嚮
4.7 視圖名稱
4.8 連接
4.8.1 空連接
4.8.2 標準間隔
4.8.3 數字間隔
4.8.4 引用父視圖
4.8.5 與父視圖的間隔
4.8.6 靈活間隔
4.8.7 圓括號
4.8.8 負數
4.8.9 優先級
4.8.10 多視圖
4.9 視圖尺寸
4.10 格式字符串部件
4.11 齣錯
4.12 NSLog和可視化格式
4.13 約束到父視圖
4.14 視圖拉伸
4.15 約束尺寸
4.16 創建列或者行
4.17 匹配尺寸
4.18 為何不能分布視圖
4.18.1 僞分布視圖(第1部分:等中心)
4.18.2 僞分布視圖(第2部分:間隔視圖)
4.19 練習
4.20 小結

第5章 調試約束
5.1 Xcode反饋
5.1.1 開發反饋
5.1.2 編譯器反饋
5.1.3 運行時
5.2 閱讀控製颱日誌
5.2.1 示例:自動尺寸調整問題
5.2.2 解決方案:關閉自動尺寸調整轉換
5.2.3 示例:Auto Layout衝突
5.2.4 解決方案:調整優先級
5.2.5 原子法
5.2.6 平衡法
5.2.7 追蹤歧義
5.3 檢查約束日誌
5.3.1 示例:對齊約束
5.3.2 示例:標準間隔
5.3.3 示例:基於等式的約束
5.3.4 示例:復雜等式
5.3.5 示例:乘數和常數
5.4 布局數學中的一個注意點
5.5 約束等式字符串
5.6 添加名稱
5.6.1 使用名稱標簽
5.6.2 命名視圖
5.7 描述視圖
5.8 示例:意外的填充
5.9 示例:圖像吸附
5.10 示例:視圖居中
5.11 嚮下遍曆報告
5.12 示例:歧義
5.13 示例:控製颱輸齣的擴展
5.14 可視化約束
5.15 啓動參數
5.16 國際化
5.16.1 加倍的字符串(iOS/OS X)
5.16.2 翻轉界麵(OS X)
5.16.3 翻轉界麵(iOS)
5.17 概要分析Cocoa布局
5.18 調試中的Auto Layout規則
5.19 練習
5.20 小結

第6章 使用Auto Layout創建
6.1 Auto Layout的基本原則
6.2 布局庫
6.3 界麵設計
6.4 模塊化創建
6.5 更新約束
6.5.1 調用更新並以動畫形式顯示變化
6.5.2 以動畫形式顯示OS X上的約束變化
6.5.3 漸褪變化
6.6 邊緣條件設計
6.7 創建一個視圖抽屜
6.7.1 創建抽屜布局
6.7.2 管理被拖曳視圖的布局
6.7.3 被拖曳的視圖
6.8 窗口邊界
6.9 練習
6.10 小結

第7章 布局解決方案
7.1 錶單元格
7.2 保存圖像縱橫比
7.3 等寬尺寸
7.4 滾動視圖
7.4.1 滾動視圖和純Auto Layout
7.4.2 混閤解決方案
7.4.3 創建一個分頁式圖片滾動視圖
7.5 居中視圖組
7.6 自定義乘數和隨機位置
7.7 創建柵格
7.8 為鍵盤留齣空間
7.9 在運行時插入視圖
7.10 運動效果、動態文本和容器
7.11 練習
7.12 小結
附錄A 練習參考答案

《Swift編程入門經典》目錄
第1章 初識Swift 1
1.1 Swift語言是什麼 2
1.2 Swift語言為什麼重要 3
1.3 配置開發環境 3
1.3.1 創建Playground項目 5
1.3.2 創建iOS項目 6
1.4 Swift語法 10
1.4.1 常量 10
1.4.2 變量 12
1.4.3 字符串插值:在字符串中包含值 13
1.4.4 聲明 14
1.4.5 輸齣 14
1.4.6 注釋 15
1.5 本章小結 16
第2章 數據類型 19
2.1 基本數據類型 20
2.1.1 整型 20
2.1.2 浮點型數字 22
2.1.3 類型彆名 24
2.1.4 布爾型 24
2.2 元組 25
2.3 可選類型 26
2.3.1 隱式打開可選類型 27
2.3.2 可選綁定 28
2.3.3 用?符號打開可選值 29
2.4 枚舉 29
2.4.1 在Swift語句中使用枚舉 30
2.4.2 枚舉原始值 31
2.4.3 原始值自增 32
2.4.4 關聯值 33
2.4.5 枚舉函數 34
2.5 本章小結 35
第3章 字符串和字符 39
3.1 字符串 39
3.1.1 可變的字符串 40
3.1.2 值類型的String 40
3.1.3 字符 41
3.1.4 字符串的連接 42
3.1.5 特殊字符 43
3.1.6 Unicode 44
3.2 常見的字符串函數 45
3.2.1 相等 45
3.2.2 前綴和後綴 46
3.2.3 長度 47
3.2.4 子字符串 48
3.2.5 將字符串轉換為數組 50
3.2.6 類型轉換 50
3.3 與NSString的互操作 51
3.3.1 把String轉換為NSString 52
3.3.2 直接使用NSString 53
3.3.3 使用String還是NSString? 54
3.4 本章小結 55
第4章 基本運算符 57
4.1 賦值運算符 57
4.2 算術運算符 58
4.2.1 加法運算符 59
4.2.2 減法運算符 59
4.2.3 乘法運算符 60
4.2.4 除法運算符 60
4.2.5 取模運算符 61
4.2.6 遞增和遞減運算符 61
4.2.7 復閤賦值運算符 62
4.2.8 nil連接運算符 62
4.3 比較運算符 63
4.3.1 等於和不等於 63
4.3.2 大於或大於等於 65
4.3.3 小於或小於等於 65
4.4 區間運算符 65
4.5 邏輯運算符 67
4.5.1 邏輯非 67
4.5.2 邏輯與 67
4.5.3 邏輯或 68
4.5.4 組閤邏輯運算符 69
4.5.5 三元運算符 70
4.6 本章小結 70
第5章 函數 73
5.1 函數的定義與調用 73
5.1.1 輸入參數 74
5.1.2 返迴值 74
5.1.3 返迴多個值 75
5.1.4 函數參數名稱 75
5.1.5 形參名的簡寫方式 77
5.1.6 默認參數值 77
5.1.7 可變(變量)參數 78
5.1.8 常量和變量參數 79
5.1.9 輸入輸齣參數 80
5.2 函數類型 80
5.2.1 定義函數類型的變量 81
5.2.2 調用函數類型的變量 81
5.2.3 返迴函數中的函數類型 82
5.3 嵌套函數 83
5.4 本章小結 83
第6章 集閤 85
6.1 數組 86
6.1.1 可變數組 86
6.1.2 數組數據類型 86
6.1.3 從數組中獲取元素 87
6.1.4 嚮數組中插入元素 87
6.1.5 修改數組中的元素 88
6.1.6 將元素附加到數組中 88
6.1.7 檢查數組的大小 88
6.1.8 從數組中移除元素 89
6.1.9 數組的遍曆 89
6.1.10 創建空數組 90
6.1.11 測試數組是否相等 91
6.2 字典 91
6.2.1 可變字典 92
6.2.2 獲取字典中的元素 93
6.2.3 檢查字典的大小 93
6.2.4 修改字典中的元素 93
6.2.5 移除字典中的元素 94
6.2.6 字典的遍曆 95
6.2.7 創建空字典 96
6.2.8 測試字典是否相等 96
6.3 數組和字典的復製行為 97
6.4 本章小結 98
第7章 控製流和循環 101
7.1 控製流 101
7.1.1 if語句 102
7.1.2 if-else語句 103
7.1.3 switch語句 104
7.1.4 where子句 111
7.2 循環 112
7.2.1 for-in循環 112
7.2.2 傳統的for循環 115
7.2.3 while循環 116
7.2.4 do-while循環 117
7.2.5 控製轉移語句 118
7.3 本章小結 122
第8章 結構體和類 125
8.1 結構體 125
8.1.1 成員級初始化器 127
8.1.2 結構體的類型 127
8.1.3 結構體比較 129
8.2 類 129
8.2.1 類的定義 130
8.2.2 屬性 130
8.2.3 初始化器 138
8.2.4 初始化器與形參名 139
8.2.5 在初始化期間對變量和常量進行初始化 141
8.2.6 類是引用類型 142
8.2.7 類中的方法 146
8.2.8 類方法 149
8.2.9 結構體中的方法 150
8.3 本章小結 152


12.3 本章小結 217
附錄 習題答案 219


《App Store創贏藝術:Apple開發的賺錢機密》目錄
第1章 App Store簡史
1.1 App Store發展曆程錶
1.2 早期的App Store
1.2.1 觸摸屏的新奇用法
1.2.2 簡單取得成功,而復雜遭遇失敗
1.3 與時俱進的App Store
1.3.1 朝著復雜應用步步為營
1.3.2 自早期App Store以來,應用環境發生瞭什麼變化
1.4 本章小結
第2章 設定目標、成本和期望
2.1 剋服“英雄發明綜閤癥”
2.1.1 親力親為的優勢
2.1.2 外包
2.1.3 避開單槍匹馬的陷阱
2.2 考量基礎成本
2.2.1 編程
2.2.2 遊戲/應用設計的UI/UX中的要素
2.2.3 美工設計的要素
2.3 考慮可選成本
2.3.1 音頻成本
2.3.2 特效成本
2.3.3 針對國外市場的本地化
2.3.4  質量保證/測試
2.3.5 公共關係和市場營銷
2.3.6  廣告成本
2.4 管理你的期望
2.4.1 App Store就像個擁擠的動物園
App Store創贏藝術--Apple開發的賺錢機密
2.4.2 計劃好成本超支的對策
2.4.3 製定日程時的鐵腕政策
2.5 本章小結
第3章 App Store市場研究
3.1 數字和趨勢分析
3.2 先研究後決策
3.2.1 機會大小:市場上有漏洞嗎
3.2.2 選擇應用環境
3.2.3 先下手為強
3.2.4 總結決策
3.3 分析成功應用
3.3.1 探尋流行的特性
3.3.2 探尋視覺風格
3.3.3 探尋社交網絡集成
3.3.4 探尋iPhone的名品堂
3.3.5 避開揮之不去的自尊陷阱
3.3.6 遊戲概念:新舊對抗
3.4 分析不成功的應用
3.4.1 從彆人的錯誤中學習
3.4.2 從彆人的意見中學習
3.5 混閤與搭配
3.5.1 從主流應用程序/遊戲中藉鑒風格和功能
3.5.2 提煉成功的功能特性,換個角度
3.6 本章小結
第4章 瞭解你的客戶
4.1 理解App Store的人口統計學
4.1.1 休閑和傳統遊戲的核心
4.1.2 iPhone休閑遊戲與傳統休閑遊戲的比較
4.2 迎閤客戶的期望
4.2.1 視覺和畫麵
4.2.2 遊戲玩法和功能特性
4.2.3 競爭性反饋研究
4.3 本章小結
第5章 策劃開發的各個階段
5.1 領導與團隊
5.1.1 角色的假設
5.1.2 首發陣容
5.1.3 初期的控製概念
5.2 從概念到發布
5.2.1 通過敏捷開發完善應用
5.2.2 計劃--構思你的設想
5.2.3 進度安排
5.2.4 製作和開發階段
5.2.5 協調市場營銷
5.3 本章小結
第6章 應用開發的準則和期望
6.1 潛在的風險和收獲
6.1.1 付費應用都應所見即所得
6.1.2 當銷量縮水時,你能提供哪些激勵措施
6.1.3 你計劃采用應用內購功能嗎
6.1.4 你能夠走免費這條路嗎
6.1.5 就像中彩票
6.1.6 收益就像過山車
6.2 App Store的商業模式
6.2.1 免費應用
6.2.2 付費應用的收益模式和價格預期
6.3 創建適應多任務世界的應用
6.3.1 理解多任務處理對大腦的影響
6.3.2 將手機當作終極多任務處理工具
6.4 半秒窗口
6.4.1 理解典型用戶對觸摸屏應用的傾嚮
6.4.2 讓初次交互充分利用“半秒窗口”
6.5 描繪實物世界
6.5.1 使用實物隱喻來取悅用戶
6.5.2 策劃/品牌建設練習:為應用創作隱喻
6.5.3 利用物理的力量:重力、天氣、物體
6.5.4 在實物隱喻中,聲音的重要性
6.6 本章小結
App Store創贏藝術--Apple開發的賺錢機密
第7章 創作免費和免費增值應用
7.1 應用收入術語
7.1.1 微交易
7.1.2 可下載內容(DLC)
7.1.3 免費應用
7.1.4 免費增值應用
7.1.5 應用內購
7.1.6 免費試玩應用(F2P)
7.1.7 輕量級應用
7.1.8 長尾策略
7.2 收入模式背後的商業動機
7.2.1 免費應用的考量
7.2.2 免費增值應用的考量
7.2.3 輕量級應用的考量
7.3 考量風險和收獲
7.3.1 免費應用
7.3.2 免費增值應用
7.3.3 輕量級應用
7.3.4 將應用的風險降至最低
7.4 免費應用如何取得成功



精彩書摘

  世界在飛速發展,幾乎每天都有變化,並且不時會有大事情發生並改變著整個行業。例如,iPhone誕生於2007年,在一夜之間改變瞭手機行業,率先邁嚮智能手機的新時代。iPad在發布三年後(2010年)改變瞭我們使用計算機的方式,這使許多人預測,我們都登上瞭PC時代的頂峰。

  在20世紀80年代NeXT公司成立後的很長一段時間內,Objective-C被用於開發NeXT公司的NeXTSTEP操作係統。Mac OS X和iOS都來源於NeXTSTEP,因此Mac OS X和iOS開發語言自然就選擇瞭Objective-C。開發人員在剛接觸iOS開發時,會經常抱怨Objective-C看上去並不像一門現代編程語言(如Java或C#)並且很難寫,通常要花大量的時間去學習。7年來,蘋果公司已經對開發語言和iOS框架進行瞭改善,通過引入一些有用的功能,使得開發開發人員用起來更為容易,比如用自動引用計數(Automatic Reference Counting,ARC)來做內存管理的苦差事,同時引入Storyboard來簡化用戶操作界麵。然而,抱怨還是沒有停止,此外,蘋果公司需要一門新的語言來把iOS和Mac操作係統發展到更高水平。

  2014年,在蘋果全球開發人員大會(WWDC)上,蘋果公司發布瞭一門新的編程語言—— Swift,這震驚瞭許多開發人員。7年之後,蘋果公司終於發布瞭一門新的語言來代替Objective-C。正如你將在本書中看到的,Swift是一門易於閱讀的現代編程語言,並且對類型安全進行瞭嚴格控製。

  本書是為忙碌的開發人員所準備的,旨在穿過所有的技術術語直接進入Swift語言的殿堂。當然,學習任何一門新的語言的最好方法就是查看代碼示例,本書也為你呈現瞭這些示例。為瞭從本書中獲取更多的知識,強烈建議你在閱讀每章的示例時親自實現一下。

  本書讀者對象

  本書的讀者對象是初級iOS開發人員和有經驗的Objective-C開發人員。對於具備編程基礎並且已經理解麵嚮對象編程(Object-Oriented Programming,OOP)的開發人員來說,本書也能發揮巨大作用。

  所有章節的代碼示例都是在Xcode 6上編寫的並且已經測試過。因為Swift語言仍處在發展當中,所以當本書麵世時,Swift語言應該會有一些小的調整。

  本書組織結構

  本書介紹使用Xcode 6進行Swift編程的一些關鍵主題,總共包括如下12章內容:

  第1章:“初識Swift”,涵蓋Swift的基本語法以及如何配置開發環境,從而測試Swift代碼。

  第2章:“數據類型”,涵蓋Swift支持的基本數據類型以及如何執行它們涉及的常見操作,並且介紹Swift新的元組和可選的數據類型。

  第3章:“字符串和字符”,討論在Swift語言中如何管理字符和字符串類型。特彆強調Swift語言中的字符串類型是如何嚮後兼容Objective-C中的NSString類型的。同時介紹在處理字符集時必須知道的內容。

  第4章:“基本運算符”,涵蓋Swift語言中的常用運算符。此外,還討論在Swift語言中一些運算符新的使用範圍。

  第5章:“函數”,介紹如何在Swift語言中進行函數定義以及在調用函數的時候如何使用內部參數和形參。

  第6章:“集閤”,涵蓋Swift語言中支持的集閤類型—— 數組和字典。

  第7章:“控製流和循環”,介紹如何在Swift語言中作齣判斷以及如何使用循環語句執行重復的代碼。

  第8章:“結構體和類”,涵蓋編程結構的基礎知識,還演示如何在類和結構體中定義屬性和方法。

  第9章:“繼承”,介紹如何在Swift語言中定義子類以及如何控製成員變量的訪問權限,同時還展示如何擴展類。

  第10章:“閉包”,涵蓋你需要知道的有關功能塊的所有知識以及如何使用Swift語言來實現它們。

  第11章:“協議與代理”,討論Swift語言中設計模式最重要的一部分,協議和代理模式是在iOS和Mac OS中大部分API上編程的基礎。

  第12章:“泛型”,本章描述在Swift語言中是如何包含“泛型”這個熟悉的編程概念的。泛型允許開發人員編寫高度靈活的代碼,促進代碼共享和重用。

  練習題的答案在書末的附錄中。

  使用本書的前提

  為瞭實現本書中提供的代碼示例,需要一颱Mac電腦並裝上Xcode 6。在Mac App Store中,Xcode 6是可以免費下載的。不需要用iOS設備測試本書中的代碼。為瞭測試,可以創建Playground項目或iOS項目,然後在iPhone模擬器上進行測試。

  勘誤錶

  盡管我們已經盡瞭各種努力來保證文章或代碼中不齣現錯誤,但是錯誤總是難免的,如果你在本書中找到瞭錯誤,例如拼寫錯誤或代碼錯誤,請告訴我們,我們將非常感激。通過勘誤錶,可以讓其他讀者避免受挫,當然,這還有助於提供更高質量的信息。

  要在網站上找到本書的勘誤錶,可以登錄http://www.wrox.com,通過Search工具或書名列錶查找本書,然後在本書的細目頁麵上,單擊Book Errata鏈接。在這個頁麵上可以查看Wrox編輯已提交和粘貼的所有勘誤項。完整的圖書列錶還包括每本書的勘誤錶,網址是www.wrox.com/misc-pages/ booklist.shtml。

  如果在Book Errata頁麵上沒有看到你找齣的錯誤,請進入www.worx.com/contact/ techsupport.shtml,填寫錶單,發電子郵件,我們就會檢查你的信息,如果是正確的,就在本書的勘誤錶中粘貼一個消息,我們將在本書的後續版本中采用。

  p2p.wrox.com

  P2P郵件列錶是為作者和讀者之間的討論而建立的。讀者可以在p2p.wrox.com上加入P2P論壇。該論壇是一個基於Web的係統,用於傳送與Wrox圖書相關的信息和相關技術,與其他讀者和技術用戶交流。該論壇提供瞭訂閱功能,當論壇上有新帖子時,會給你發送你選擇的主題。Wrox作者、編輯和其他業界專傢和讀者都會在這個論壇上進行討論。

  在http://p2p.wrox.com上有許多不同的論壇,幫助讀者閱讀本書,在讀者開發自己的應用程序時,也可以從這個論壇中獲益。要加入這個論壇,必須執行下麵的步驟:

  (1) 進入p2p.wrox.com,單擊Register鏈接。

  (2) 閱讀其內容,單擊Agree按鈕。

  (3) 提供加入論壇所需的信息及願意提供的可選信息,單擊Submit按鈕。

  (4) 然後就可以收到一封電子郵件,其中的信息描述瞭如何驗證賬戶,完成加入過程。

  加入論壇後,就可以發送新信息,迴應其他用戶的帖子。可以隨時在Web上閱讀信息。如果希望某個論壇給自己發送新信息,可以在論壇列錶中單擊該論壇對應的Subscribe to this Forum圖標。

  對於如何使用Wrox P2P的更多信息,可閱讀P2P FAQ,瞭解論壇軟件的工作原理,以及許多針對P2P和Wrox圖書的常見問題解答。要閱讀FAQ,可以單擊任意P2P頁麵上的FAQ鏈接。

  源代碼

  如果想運行本書示例中的代碼,需要把所有代碼輸入到Xcode中,然後運行並觀察結果。記住,學習一門語言的最好方法就是親自去實踐並且犯錯誤。對於第11章,可以在網頁www.wrox/com/go/beginningswift上找到LBS項目的源代碼。在該頁麵上,隻需找到這本書的書名(使用Search框或書名列錶)並在本書的詳細頁麵上點擊Download Code鏈接,即可獲得本書的所有源代碼。

  下載代碼之後,用你最喜歡的壓縮工具解壓縮。也可以去Wrox主頁下載本書的代碼,下載地址為www.wrox.com/dynamic/books/download.aspx,在上麵還可以看到Wrox公司其他的圖書。

  ……

前言/序言

  Auto Layout重新構思瞭開發者創建界麵的方式。它創建瞭一個靈活、強大的係統,來描述視圖和它們的內容是如何相互關聯的,它們和它們占據的窗口和父視圖是如何關聯的。與舊的設計方法相比,這種技術為布局提供瞭難以置信的控製,比frame、spring、strut所允許的範圍更廣闊。也有被一些激怒的開發者中傷的,使得Auto Layout獲得瞭難以使用、令人沮喪的名聲,特彆是通過Interface Builder(IB)使用時。

  這就是本書存在的原因。你將通過一些包含大量解釋和提示的示例來揭示Auto Layout的優勢。本書並不過多介紹類文檔,而是通過簡單的步驟來學習該係統的工作原理,以及它為什麼比你初次所想的更強大。你將看到一些常見的設計場景,並發現使用Auto Layout是一種樂趣,是最佳實踐,而不是一項纍人的工作。

  你也會探索很多Auto Layout的優點。它是一項非常有用的技術:

  ● Auto Layout是聲明性的。錶達界麵時不必擔心這些規則是如何實現的。隻要描述這個布局即可,可以讓Auto Layout計算frame。

  ● Auto Layout是描述性的和相關性的。你需要描述項在屏幕上是如何相互關聯的。可以忘掉尺寸和位置。重要的隻是關係。

  ● Auto Layout是集中的。無論在IB還是在你自己代碼裏的布局區域,Auto Layout規則傾嚮於遷移到一個簡單的關係,使它更易於檢查和調試。

  ● Auto Layout是動態的。你的界麵會在需要響應用戶和源自應用的改變時而更新。

  ● Auto Layout是可本地化的。使用Auto Layout可以徵服世界。它在維護界麵完整性時,適應不同的單詞和詞組長度。

  ● Auto Layout是錶達性的。你可以描述比能在舊的spring-strut係統中更多的關係。不隻是“吸附這條邊”或者“沿著這個坐標軸改變尺寸大小”,它可以錶示一個視圖關聯到另一個視圖的方式,而不僅僅是它的父視圖。

  ● Auto Layout是增量式的。可以根據你自己的時間錶使用它。可以添加它,將它作為應用和界麵的一部分,或者將其作為一個完整的Auto Layout經曆。Auto Layout提供嚮後兼容,使你可以使用所有spring和strut、所有約束或者兩者的混閤,來創建自己的界麵。

  本書旨在為你提供靈感。我試著去演示使用Auto Layout來創建可交互元素、動畫和其他超越你可能在IB中遇到的特性的示例。這些章節為Auto Layout工作提供瞭一個啓動平闆,引入瞭一些可以拓展設計可能性的不常見特性。

  正如書名所提示的,本書基本的目標讀者是iOS開發者。我在可能覆蓋的地方引入瞭OS X。因此,如果你是一個OS X開發者,不會被冷落。本書的內容主要還是針對iOS。當你閱讀時請記住這一點。

  Auto Layout已經對我的日常開發産生瞭深遠的影響。我撰寫本書,希望Auto Layout也能對你的開發工作帶來深遠影響。我的意圖是使你在放下這本書之後,便能擁有Auto Layout方麵的堅實基礎。如果我幸運的話,這本書會給你“我找到瞭!”的驚喜一刻,本書將引導你前進。

  ——Erica Sadun

  這本書的內容安排

  這本書提供瞭實際的Auto Layout教程。以下是本書內容介紹。

  ● 第1章,“Auto Layout介紹”——準備好瞭嗎?本章解釋Auto Layout背後的基本概念。你將學習為什麼應當在應用裏使用Auto Layout,以及為什麼它必須是一個滿足約束的係統。

  ● 第2章,“約束”——在Auto Layout中,通過聲明關於視圖的規則來創建界麵。你添加的每個布局規則創建一個關於界麵的某部分如何布局的要求。這些規則根據你提供給係統的一個數值優先級來排定等級,相應地,Auto Layout創建你的界麵的可視化錶現。本章介紹約束以及布局規則,並且解釋瞭為什麼你的規則必須是無歧義的、可滿足的。

  ● 第3章,“Interface Builder布局”——在Interface Builder中使用基於約束的設計有時對於Auto Layout開發新手來說,可能是一個令人沮喪的經曆。iOS 7和Xcode 5完全更新後,本章教你一些你需要的竅門,使IB精確地創建你想要的界麵。

  ● 第4章,“可視化格式”——本章探索可視化約束看起來如何,你如何創建它們,以及如何在項目中使用它們。你將學到度量字典和約束選項是如何拓展可視化格式來獲取更多的靈活性。本章介紹瞭大量示例,用於演示這些格式以及探索它們産生的結果。

  ● 第5章,“調試約束”——約束有時比較晦澀。你創建約束時使用的代碼和界麵文件並不易於細讀。它隻提供一些“有用的”Xcode日誌消息,這讓一些開發者十分糾結。本章專注並聚焦於底層約束並幫助調試你的工作。

  ● 第6章,“使用Auto Layout創建”——對Auto Layout的設計改變瞭你創建界麵的方式。它是一個描述性的係統,遠離瞭準確的度量,例如frame和center,差彆比較大。你將注意力放在視圖間的關係上,它描述瞭屏幕上的某項是如何跟隨另一項的。通過基於約束的規則,在設計中揭示瞭這種自然關係,並詳細描述瞭它們。本章介紹Auto Layout設計的錶達,聚焦於它的基本原則,並提供瞭一些展示其特性的示例。

  ● 第7章,“布局解決方案”——本書前麵章節關注於基礎知識和原理。本章介紹解決方案。你已經學習瞭各種現實世界的挑戰,以及Auto Layout是如何為日常開發工作提供切實可行的答案。這些主題就像一個摸彩袋,展示開發者通常會提齣的請求。

  ● 附錄A,“練習參考答案”——該附錄提供瞭所有章節後的練習題的答案。

  關於示例代碼

  本書沿用瞭iOS Developer’s Cookbook係列的風格。書中的iOS示例代碼總是以單個main.m文件開始,你會在其中發現支撐該示例的應用的核心部分。人們一般在開發iOS或者Cocoa應用時不采用這種方式,但是它提供瞭一種展現單一想法的絕佳方式。當讀者需要在許多文件中搜尋,並試圖找齣哪些文件是相關的,哪些是無關的時候,要講清楚這一過程就很難瞭。提供單個啓動點濃縮瞭這個過程,使得在單個代碼塊中便能獲悉整個想法。

  本書所提供的代碼並非遵循標準的日常最佳實踐方式。書中提供瞭精確的解決方案,你可以根據需要將它們納入到你的工作中。書中的示例大都使用一個應用標識:com. sadun.helloworld。這使你的iOS設備避免同時被許多示例阻塞。每個示例替換前麵一個,確保你的主屏幕保持相對整潔。如果想要同時安裝若乾示例程序,隻需要編輯標識,添加一個獨一無二的前綴即可,例如com.sadun.helloworld.table-edits。

  你也可以編輯自定義的顯示名稱,使應用在視覺上看起來截然不同。你的iOS Team Provisioning Profile匹配任何應用標識,包括com.sadun.helloworld。這允許將編譯後的代碼安裝到設備上,而無須更改該標識,隻需要確保在每個項目的構建設置(build settings)中更新你的簽名標識(signing identifier)。

  本書中還有一些淺顯易懂的OS X代碼。這不是一本以OS X為中心的書籍(你可以從書名中猜到這一點),但是在必要的地方,覆蓋到瞭OS X主題。本書的篇幅主要花費在iOS上,因此請原諒任何在OS X方麵的失誤,請務必寫郵件幫助糾正任何錯誤。

  獲得示例代碼

  你可以在開放源碼托管站點GitHub上的http://github.com/erica/Auto-Layout-Demystified頁麵上,找到本書的示例代碼。其中可以找到按章節劃分的源碼,這些源碼提供瞭本書涉及的示例文件。

  正如後麵解釋的,你可以通過直接使用git或者單擊GitHub的下載按鈕來獲取示例代碼。在我撰寫本書時,它位於頁麵的右邊。它使你能夠以一個zip或者tarball(.tar)壓縮文件的形式獲取整個代碼庫。

  獲取Git

  可以通過使用git版本控製係統來下載本書的源碼。git的一個OS X實現可以通過http://code.google.com/p/git-osx-installer獲取。OS X git實現包括瞭命令行和GUI解決方案,這樣,你可以去尋找一個最適閤自己開發需求的版本。

  獲取Github

  Github(http://github.com)是最大的git托管的站點,擁有超過150 000個公共代碼庫。它既為公有項目提供瞭免費的托管,也為私有項目提供瞭付費選項。Github擁有一個定製的Web界麵,包括瞭wiki托管、問題跟蹤以及對項目開發者社交網絡的強調,使得它成為找尋新代碼或者在現有庫上展開閤作的絕佳地方。可以在Github網站上注冊一個免費賬戶,這使得你可以復製並修改這個代碼庫,或者創建自己的iOS開發源碼項目與他人分享。

  貢獻!

  示例代碼永遠不會是最終版本。它會隨著Apple更新它的SDK和Cocoa Touch庫而持續演進。加入我們吧!你可以通過建議需要修復的bug、提齣修復bug的方式以及擴展提供的代碼參與進來。Github允許你創建代碼庫的分支,使用你自己的微調和特性來擴展它們,然後將它們分享迴主代碼庫。如果你提齣一個新的想法或者方法,請告訴我。我的團隊和我非常樂於將好的建議納入到代碼庫和本書的下一個版本中。

  聯係作者

  如果你有關於本書的任何評論或者疑問,請給我發送郵件(erica@ericasadun.com)或者訪問Github庫並聯係我。

  編者按:我們想要聽到你的聲音!

  作為本書的讀者,你是我們最重要的評論傢和評論員。我們非常重視你的觀點,並希望知道什麼是我們做得好的,什麼是我們可以做得更好的,什麼領域的書籍是你希望我們齣版的,以及任何其他你願意傳達給我們的想法。

  你可以發送Email或者直接給我寫信讓我知道你喜歡還是不喜歡本書——以及我們該做些什麼來使我們的書更具價值。

  但請注意,我無法給予你任何與本書主題相關的技術問題的幫助,由於我收到的郵件數量較多,因此可能無法迴復每一封郵件。

  當你來信時,請確保包含本書的書名、作者以及你的名字和電話號碼或者郵件地址。我會仔細地閱讀你的評論,並將它分享給本書的作者和編輯人員。

  E-mail: trina.macdonald@pearson.com

  Mail: Trina MacDonald

  Senior Acquisitions Editor

  Addison-Wesley/Pearson Education, Inc. 75 Arlington St., Ste. 300

  Boston, MA 02116

  iOS已陪伴我們走過瞭7年,搭載著iOS係統的設備,例如iPhone、iPod touch、iPad,以其豐富的功能和齣色的用戶體驗,改變瞭人們日常的生活、工作和娛樂方式。iOS 7的發布,錶明iOS進入瞭新的紀元,它呈現給用戶一個扁平、簡約而又明朗的界麵。

  如同一對初次邂逅的男女,往往第一眼便決定瞭是否會一見鍾情。推而廣之,開發者往往會花費大量時間去雕琢齣一張充滿魅力的“臉”,讓它無論在淺淺微笑時,還是在扮鬼臉時都富有吸引力。但這確實不是一件容易的事情。在iOS界麵方麵,Apple做瞭許多卓有成效的努力。無論是從OS X平颱引入瞭Autosizing技術,還是到iOS 6的時候,引入瞭自動布局(Auto Layout)技術。自動布局可以實現早前布局技術所無法實現的布局要求。

  但是相對而言,自動布局還是一種較新的技術,目前市麵上的書籍,也沒有對該部分內容進行比較細緻的講解,讓一些初次接觸自動布局的開發者感覺無從下手。《iOS Auto Layout開發秘籍(第2版)》可以說是彌補瞭這個空白,難能可貴的是,這本書不僅涵蓋瞭iOS和OS X平颱,而且幾乎深入闡述瞭自動布局技術的方方麵麵,既有深度又有廣度。

  該譯本齣版的時候,可能iOS 8已經發布正式版。在iOS 8中,自動布局也會有顯著的改變。不過,本書仍是學習自動布局的不二選擇。一方麵,因為它是比較基礎而又係統的,可以幫助讀者掌握自動布局的一些基本原理和實現;另一方麵,瞭解一種技術最初的形態,可以幫助改善應用的兼容性。最後,誠如作者所言,“我的意圖是使你在放下這本書之後,便能擁有Auto Layout方麵的堅實基礎”。

  本書由孟立標翻譯,參與翻譯活動的還有孔祥亮、陳躍華、杜思明、熊曉磊、曹漢鳴、陶曉雲、王通、方峻、李小鳳、曹曉鬆。限於時間、精力以及本人的專業水平能力,書中難免會有疏漏錯誤之處,敬請讀者批評指正。

  譯 者


用戶評價

評分

很好,書籍到手,不錯不錯。

評分

趁活動買的,好便宜啊。。。根本收不住手!剁!

評分

包裝很不錯哦,就是沒有優惠活動

評分

買來學習的工具書,還不錯

評分

不瞭解操作係統,怎麼可以開發齣來nb的app

評分

京東物流很快,滿意。紙質質量還可以。還沒看,希望內容能有些好東西。

評分

挺好的書,正在拜讀。

評分

很好的書籍,通俗易懂,還有摺扣優惠,劃算啊

評分

書真的很好。寫書的人很不容易。

相關圖書

本站所有內容均為互聯網搜尋引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度google,bing,sogou

© 2025 book.cndgn.com All Rights Reserved. 新城书站 版權所有