swiftのdesignated initializerとconvenience initializer
NSDateのreference見てると、こういうところが出てくる。
extension NSDate { class func distantFuture() -> AnyObject! /* NSDate * */ class func distantPast() -> AnyObject! /* NSDate * */ init() /* designated initializer */ init(timeIntervalSinceReferenceDate ti: NSTimeInterval) /* designated initializer */ convenience init(timeIntervalSinceNow secs: NSTimeInterval) convenience init(timeIntervalSince1970 secs: NSTimeInterval) convenience init(timeInterval secsToBeAdded: NSTimeInterval, sinceDate date: NSDate!) }
これの、designated initializerとconvenienceの違いというか意味がよく分からない。 自作クラスで、convenienceをつけるてみたら、self.initを中で書かないとダメだよと注意される。
理解できたら追記する。
ちょうど欲しかった答えがありました。