[Swift5] User Defined Runtime Attributes를 사용하여 스토리 보드에서 속성의 초기 값을 설정해 보았습니다.

소개



UI를 설정하는 프로퍼티의 초기치를 Storyboard에서 설정해 보았으므로, 비망록으로서 그 순서를 적습니다.

환경



[Xcode] 버전 12.4
[Swift] 버전 5.3.2

구현 절차



Storyboard의 [ Identity Inspector ] 탭의 User Defined Runtime Attributes 에 "+ "를 눌러 설정하면 됩니다.
「Key Path」에 프로퍼티명을, 「Type」에는 이번은 Color를, 「Value」에는 설정하고 싶은 색을 넣습니다.

다만, 코드로 프롭퍼티를 정의할 때에, @objc dynamic 를 붙일 필요가 있습니다.
Objective-C의 클래스나 메소드를 Swift에서도 사용할 수 있도록 하기 위한 키워드인 것 같습니다.

FirstViewController
import UIKit

final class FirstViewController: UIViewController {

    @IBOutlet private weak var centerLabel: UILabel!
    //ラベルの背景色を設定する変数に対して、StoryboardからColorを設定する
    @objc
    dynamic var labelBackgroundColor = UIColor(red: 0.1, green: 0.2, blue: 0.6, alpha: 1.0)

    override func viewDidLoad() {
        super.viewDidLoad()
        //ラベルの背景色を設定したColorにする
        centerLabel.backgroundColor = labelBackgroundColor

    }
}

지금까지 Color를 포함하여 11종류(Boolean, Number, String, Localized String, Point, Rect, Range, Color, Image, Nil)의 Type을 지정할 수 있으므로 여러 가지 시도해보고 싶습니다.

참고문헌



이 기사는 다음 정보를 참고했습니다.
- dynamic var 를 이해하기 위한 극의 - swift
- Swift4에서 User Defined Runtime Attributes가 잘 작동하지 않는 곳이있었습니다.

좋은 웹페이지 즐겨찾기