Swift 구문 - Swift가 클래스 이름 인스턴스를 통해 객체

1795 단어 swift
클래스 이름에 따라 대상을 실례화합니다. 예를 들어 문자열에 따라 ViewController 실례를 만들어야 합니다.
let controllerName="SpainAppProto."+xibName  // xibName   XXViewController

var classType: AnyObject.Type=NSClassFromString(controllerName)

var nsobjectype : UIViewController.Type = classType as UIViewController.Type

var viewController: UIViewController = nsobjectype(nibName: xibName, bundle: nil) 

 
하지만 UIViewController를 기반으로 합니다.self가 실례화할 때 살짝 바꿔야 돼요.
    var x: String = m.debugDescription  // m  UIViewController.self

    x = x.stringByReplacingOccurrencesOfString("Optional(", withString: "")

    x = x.stringByReplacingOccurrencesOfString(")", withString: "")

    let anyClass: AnyClass = NSClassFromString(x)

    let viewControllerClass: UIViewController.Type = anyClass as UIViewController.Type

    let viewController = viewControllerClass()

좋은 웹페이지 즐겨찾기