---
title: Không dùng @IBInspectable với kiểu không hỗ trợ và const
impact: MAJOR
impactDescription: Tránh lỗi biên dịch hoặc các hành vi không xác định trong Interface Builder.
tags: swift, ios, uikit, interface-builder, ibinspectable
---

## Không dùng @IBInspectable với kiểu không hỗ trợ và const

`@IBInspectable` chỉ nên được sử dụng với các kiểu dữ liệu được Interface Builder hỗ trợ (Int, CGFloat, String, Bool, UIColor, v.v.). Ngoài ra, thuộc tính được đánh dấu `@IBInspectable` phải là biến (`var`) để có thể thay đổi giá trị từ Storyboard/XIB. Không sử dụng với hằng số `let`.

**Incorrect (dùng kiểu không hỗ trợ hoặc let):**

```swift
@IBInspectable let cornerRadius: CGFloat = 5.0 // Sai: Phải dùng var
@IBInspectable var customObject: MyObject?    // Sai: Kiểu không được hỗ trợ
```

**Correct (dùng var với kiểu hợp lệ):**

```swift
@IBInspectable var cornerRadius: CGFloat = 5.0
@IBInspectable var isShadowEnabled: Bool = true
```

**Tools:** SwiftLint (valid_ibinspectable)
