또 다른 좋은 해결책은 convenience
다음과 같이 새 이니셜 라이저를 이니셜 라이저로 선언하는 것입니다 .
convenience init( objectId : NSManagedObjectID ) {
self.init()
}
하위 클래스에서 지정된 이니셜 라이저를 전혀 선언하지 않으면 자동으로 상속되며 self.init()
편리한 이니셜 라이저 내 에서 사용할 수 있습니다.
의 UIViewController의 경우 기본 init 메소드 호출 init(nibName nibNameOrNil: String!, bundle nibBundleOrNil: NSBundle!)
에 nil
두 인수 (의 UIViewController에 명령을 클릭하면 그 정보를 줄 것이다)합니다.
TL; TR : UIViewController
s 로 프로그래밍 방식으로 작업하는 것을 선호하는 경우 여기에 사용자 지정 인수가있는 새 이니셜 라이저를 추가하는 완전한 작업 예제가 있습니다.
class MyCustomViewController: UIViewController {
var myString: String = ""
convenience init( myString: String ) {
self.init()
self.myString = myString
}
}