Unit Testing āđāļĨāļ° XCTest
XCTest framework, test case, assertion, mocking, code coverage, āļŦāļĨāļąāļāļāļēāļĢ TDD
1āļĢāļ°āļāļļāļāļāļāļēāļāļŦāļĨāļąāļāļāļāļ XCTest framework āđāļāļāļēāļĢāļāļąāļāļāļē iOS
āļĢāļ°āļāļļāļāļāļāļēāļāļŦāļĨāļąāļāļāļāļ XCTest framework āđāļāļāļēāļĢāļāļąāļāļāļē iOS
āļāļģāļāļāļ
XCTest āļĄāļāļāđāļāļĢāļ·āđāļāļāļĄāļ·āļāļŠāļģāļāļąāļāļŠāļģāļŦāļĢāļąāļāļŠāļĢāđāļēāļ āļāļąāļāļĢāļ°āđāļāļĩāļĒāļ āđāļĨāļ°āļĢāļąāļ unit test āļ āļēāļĒāđāļ Xcode framework āļāļĩāđāļĢāļ§āļĄāļāļĒāļđāđāđāļāļāļąāļ§āļāļĩāđāļāđāļ§āļĒāđāļŦāđāļŠāļēāļĄāļēāļĢāļāļāļĢāļ§āļāļŠāļāļāļāļĪāļāļīāļāļĢāļĢāļĄāļāļāļāđāļāđāļāđāļĨāļ°āļāļĢāļ§āļāļāļąāļ regression āļĢāļ°āļŦāļ§āđāļēāļāļāļēāļĢāļāļąāļāļāļē āļāļķāļāļĢāļąāļāļāļĢāļ°āļāļąāļāļāļļāļāļ āļēāļāđāļĨāļ°āļāļ§āļēāļĄāļāđāļēāđāļāļ·āđāļāļāļ·āļāļāļāļāđāļāļāļāļĨāļīāđāļāļāļąāļ iOS
2āļāļāļīāļāļēāļĒāđāļāļĢāļāļŠāļĢāđāļēāļāļāļ·āđāļāļāļēāļāļāļāļāļāļĨāļēāļŠ test XCTestCase
āļāļāļīāļāļēāļĒāđāļāļĢāļāļŠāļĢāđāļēāļāļāļ·āđāļāļāļēāļāļāļāļāļāļĨāļēāļŠ test XCTestCase
āļāļģāļāļāļ
āļāļĨāļēāļŠ test āļāđāļāļāļŠāļ·āļāļāļāļāļāļēāļ XCTestCase āđāļāļ·āđāļāđāļāđāđāļāļĢāļ·āđāļāļāļĄāļ·āļāļāļāļŠāļāļāļāļąāđāļāļŦāļĄāļāļāļĩāđ framework āļāļąāļāđāļāļĢāļĩāļĒāļĄāđāļ§āđ āļāļĨāļēāļŠāļāļĩāđāļĄāļĩāđāļĄāļāļāļ setUp āđāļĨāļ° tearDown āļŠāļģāļŦāļĢāļąāļāđāļāļĢāļĩāļĒāļĄāđāļĨāļ°āļĨāđāļēāļāļŠāļ āļēāļāđāļ§āļāļĨāđāļāļĄ āļĢāļ§āļĄāļāļķāļāđāļĄāļāļāļ testXxx āđāļāļ·āđāļāļāļĢāļ§āļāļŠāļāļāļāļĪāļāļīāļāļĢāļĢāļĄāļāļāļāđāļāđāļāļāļĩāđāļāļāļŠāļāļ
3āļāļāļīāļāļēāļĒāļ§āļąāļāļāļļāļāļĢāļ°āļŠāļāļāđāļāļāļāđāļĄāļāļāļ lifecycle setUp āđāļĨāļ° tearDown
āļāļāļīāļāļēāļĒāļ§āļąāļāļāļļāļāļĢāļ°āļŠāļāļāđāļāļāļāđāļĄāļāļāļ lifecycle setUp āđāļĨāļ° tearDown
āļāļģāļāļāļ
āđāļĄāļāļāļ setUp āļāļģāļāļēāļāļāđāļāļāđāļāđāļĨāļ° test āđāļāļ·āđāļāļāļģāļŦāļāļāđāļāļ·āđāļāļāđāļāđāļĢāļīāđāļĄāļāđāļāđāļĨāļ°āļŠāļĢāđāļēāļ instance āļāļĩāđāļāļģāđāļāđāļ āđāļĄāļāļāļ tearDown āļāļģāļāļ§āļēāļĄāļŠāļ°āļāļēāļāļ āļēāļĒāļŦāļĨāļąāļāđāļāļĒāļāļĨāđāļāļĒāļāļĢāļąāļāļĒāļēāļāļĢāđāļĨāļ°āļĢāļĩāđāļāđāļ state āļ§āļāļāļĢāļāļĩāđāļĢāļąāļāļāļĢāļ°āļāļąāļāļāļ§āļēāļĄāđāļāđāļāļāļīāļŠāļĢāļ°āļĢāļ°āļŦāļ§āđāļēāļ test āđāļĨāļ°āļāđāļāļāļāļąāļ side effect
āļĢāļ°āļāļļāļāļąāļāļāđāļāļąāļ XCTAssert āđāļāļ·āđāļāļāļĢāļ§āļāļŠāļāļāļāļ§āļēāļĄāđāļāđāļēāļāļąāļāļāļāļāļŠāļāļāļāđāļē
āļĢāļ°āļāļļāļāļāļāļēāļāļāļāļ XCTAssertTrue āđāļĨāļ° XCTAssertFalse
+17 āļāļģāļāļēāļĄāļŠāļąāļĄāļ āļēāļĐāļāđ
āļŦāļąāļ§āļāđāļāļŠāļąāļĄāļ āļēāļĐāļāđ iOS āļāļ·āđāļāđ
āļāļ·āđāļāļāļēāļ Swift
āļāļ·āđāļāļāļēāļāļ āļēāļĐāļē Swift
āļāļ·āđāļāļāļēāļ UIKit
āļ§āļāļāļĢāļāļĩāļ§āļīāļāļāļāļ UIViewController
UserDefaults & Keychain
āļ§āļāļāļĢāļāļĩāļ§āļīāļāļāļāļāđāļāļāļāļĨāļīāđāļāļāļąāļ
Auto Layout & Constraints
UITableView & UICollectionView
āļāļ·āđāļāļāļēāļ SwiftUI
āļāļēāļĢāļāļąāļāļāļēāļĢ State āđāļ SwiftUI
āļāļēāļĢāļāļģāļāļēāļ SwiftUI
Networking & URLSession
Codable āđāļĨāļ°āļāļēāļĢāđāļĒāļāļ§āļīāđāļāļĢāļēāļ°āļŦāđ JSON
Core Data
āļāļēāļĢāđāļāļĩāļĒāļāđāļāļĢāđāļāļĢāļĄāđāļāļīāļāđāļāļĢāđāļāļāļāļĨ
āļŠāļāļēāļāļąāļāļĒāļāļĢāļĢāļĄ MVVM
āļāļēāļĢāđāļāđāļāđāļāļ·āļāļāđāļāļ Push
āļāļēāļĢāļāļāļŠāļāļ UI
Xcode āđāļĨāļ°āļĢāļ°āļāļ Build
Swift Package Manager
Memory Management & ARC
Combine Framework
Concurrency & async/await
iOS Design Patterns
āļāļēāļĢāđāļāļīāđāļĄāļāļĢāļ°āļŠāļīāļāļāļīāļ āļēāļ
āļāļ§āļēāļĄāļāļĨāļāļāļ āļąāļĒāđāļĨāļ°āļāļēāļĢāđāļāđāļēāļĢāļŦāļąāļŠ
SwiftUI Advanced
āļŠāļāļēāļāļąāļāļĒāļāļĢāļĢāļĄāđāļāļāļāļĨāļīāđāļāļāļąāļ iOS
āđāļāļĩāđāļĒāļ§āļāļēāļ iOS āļŠāļģāļŦāļĢāļąāļāļāļēāļĢāļŠāļąāļĄāļ āļēāļĐāļāđāļāļĢāļąāđāļāļāļąāļāđāļ
āđāļāđāļēāļāļķāļāļāļģāļāļēāļĄāļāļąāđāļāļŦāļĄāļ flashcards āđāļāļāļāļāļŠāļāļāđāļāļāļāļīāļ āđāļāļāļāļķāļāļŦāļąāļ code review āđāļĨāļ°āļāļąāļ§āļāļģāļĨāļāļāļŠāļąāļĄāļ āļēāļĐāļāđ
āđāļĢāļīāđāļĄāđāļāđāļāļĢāļĩ