+
-
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
Facebook
Google+
Twitter
Weibo
Instapaper
A
A
Serif
Sans
White
Sepia
Night
練習:KKBOX 動態歌詞
練習:KKBOX 動態歌詞
練習範圍
Accessibility
練習內容
請拿出我們之前使用 Core Animation 實作的的
動態歌詞作業
在動態歌詞的 view 上,加入 accessiblity 支援
results matching "
"
No results matching "
"