KKBOX iOS/Mac OS X 基本開發教材
前言
Selector
Objective-C Class/Object 到底是什麼?
Selector 有什麼用途?
呼叫 performSelector: 需要注意的地方
Selector 是 Objective-C 中所有魔法的開始
相關閱讀
練習:小計算機
Category
什麼時候應該要使用 Category
實作 Category
Category 還可以有什麼用途?
Extensions
Category 是否可以增加新的成員變數或屬性?
對 NSURLSessionTask 撰寫 Category
相關閱讀
練習:字串反轉
記憶體管理 Part 1 - Retain、Release
Reference Count/Retain/Release
Auto-release
基本原則
Getter/Setter 與 Property 語法
相關閱讀
記憶體管理 Part 2 - ARC
記憶體管理 Part 3 - Memory Warnings
Delegate 與 Protocol
從其他平台來看 Objective-C 的 Delegate
設計 Protocol 與實作 Delegate 的方式
注意事項
Data Source 與 Delegate 的差別?
Formal Protocol 與 Informal Protocol
無所不在的 Delegate
其他平台上所謂的 Delegate
我們曾經犯過的低級錯誤
相關閱讀
練習:貪食蛇
單元測試
AAA 原則
執行測試
測試驅動開發(TDD)
覆蓋率
相關閱讀
Blocks
Block 的語法
Block 如何代替了 Delegate
Block 與 Delegate 都可以想成是 Event Handler
什麼時候該用 Blocks?什麼時候該用 Delegate?
block 與 weak 關鍵字
Block 作為 Objective-C 物件
哪些事情不要拿 Block 來做
Callback Hell
相關閱讀
練習:將 Web Service API 包裝成 SDK
練習:將 Web Service API 包裝成 SDK Part2
Notification Center
接收與發送 Notification
Notification Queue
Mac 上的其他 Notification Center
CFNotificationCenter
相關閱讀
練習:填字遊戲
練習:自行實作 NSNotificationCenter
所謂的設計模式
圖解設計模式
為什麼要使用設計模式
再談 Singleton
練習:探索 Cocoa/Cocoa Touch Framework
練習:閱讀程式碼
一些新手常常搞混的東西
bool 與 BOOL
NSInteger 與 NSUInteger
NULL、nil、Nil…
Responder
Run Loop
Application
Window
View
View Controller
UITouch
相關閱讀
Threading
performSelector:
GCD
NSOperation 與 NSOperationQueue
相關閱讀
練習:一個發送多個連線的 Operation
NSCoding
實作 NSCoding
常見用途
相關閱讀
Crash Reports
如何收集 Crash Reports
記憶體不足時產生的 Crash Report
Crash Reports 的三部分
解開記憶體位置
常見 Crash 的類型
禪與 App 維修的藝術
實戰:Bad Access
實戰:因為 Category 造成的 Crash
Crash Report
實戰:JB 造成的 Exception
Crash Report
實戰:背景作業執行太久
Crash Report
相關閱讀
練習:閱讀 Crash Reports
Core Animation
CALayer
CATransaction
CAAnimation
CAAnimation 的細部設定
CADisplayLink
在 Mac 上使用 Core Animation
教學影片
練習:KKBOX 動態歌詞
練習:Flappy Bird
練習:自由發揮
Audio API
基礎知識
iOS 與 Mac OS X 的 Audio API 概觀
使用 Audio Queue 開發播放軟體
使用 Audio Unit Processing Graph 開發播放軟體
在 AUGraph 中串接 AudioUnit
修改 LPCM 資料
Core Audio 到底難在哪?
使用 AVAudioEngine 開發播放軟體
從 Audio Unit Processing Graph 到 AVAudioEngine
Audio Session
打造 Player 的完整功能
CarPlay
MFI 助聽器
教學影片
相關閱讀
練習:iOS Audio Player 開發
Auto Layout
什麼是約束 (NSConstraint)
固有內容尺寸 (Intrinsic Content Size)
UIScrollView 與 Auto Layout
.xib 在 UIViewController lifecycle 的陷阱
Self-sizing UITableViewCell height
Animation with Auto Layout
Accessibility
如何使用 VoiceOver
基本支援
VoiceOver 的方向
進階的 Accessibility 設定
相關閱讀
練習:KKBOX 動態歌詞
Mac 上的 WebKit
用 Objective-C 操作 DOM
JavaScript 與 Objective-C 的溝通
JavaScriptCore
小結
其他閱讀資料
版本記錄
Powered by
GitBook
相關閱讀
相關閱讀
Technical Note TN2151: Understanding and Analyzing iOS Application Crash Reports
WWDC 2010 Understanding Crash Reports on iPhone OS
Analyzing Crash Reports
Crashes Organizer Help
Share diagnostics and usage information with Apple in iOS
Handling unhandled exceptions and signals
results matching "
"
No results matching "
"