---
title: Gọi super trong các phương thức lifecycle
impact: HIGH
impactDescription: Đảm bảo các hành vi mặc định của hệ thống được thực thi đúng cách, tránh lỗi UI hoặc logic không đồng bộ.
tags: swift, ios, uikit, lifecycle, super-call
---

## Gọi super trong các phương thức lifecycle

Khi override các phương thức lifecycle của hệ thống (như `viewDidLoad`, `viewWillAppear`, `viewDidAppear`, `viewWillDisappear`, v.v. trong UIKit), bạn bắt buộc phải gọi `super.methodName()`. Việc thiếu lời gọi tới lớp cha có thể khiến các khởi tạo mặc định hoặc logic quan trọng của hệ thống không được thực hiện, dẫn đến các lỗi khó xác định.

**Incorrect (không gọi super):**

```swift
override func viewWillAppear(_ animated: Bool) {
    // Thiếu super.viewWillAppear(animated)
    setupTheme()
}
```

**Correct (gọi super đầy đủ):**

```swift
override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(animated)
    setupTheme()
}
```

**Tools:** SwiftLint (overridden_super_call)
