【Swift4】文字列のクラス名からクラスのインスタンスを生成する方法

2020年8月29日

文字列(String型)のクラス名からインスタンスを生成する方法について紹介します。
NSClassFromString()を使用すると文字列からクラスが取得できるので今回はこちらを使用します。

String型のクラス名からクラスのインスタンスを生成する方法

Swift4

let aClass = NSClassFromString("UIView") as! UIView.Type
let view = aClass.init()
view.frame = self.view.bounds
view.backgroundColor = UIColor.red
self.view.addSubview(view)

UIViewというクラス名の文字列から実際にUIViewのインスタンスを生成してViewControllerにつかしているサンプルになります。このコードをためすと生成したViewが画面いっぱいに赤色で表示されます。