'daki NSDictionary başlatıcısını geçersiz kılmıyor, init() üzerinde ayarlanmış bir NSDate içermek için Swift'deki NSDictionary sınıfını genişletmeye çalışıyorum. Benim özel init() eklediğinizde, ben derleyici hatası alıyorum: Ben otomatik tamamlama kullanarak o başlatıcı eklerken, AncakSwift
'required' initializer 'init(dictionaryLiteral:)' must be provided by subclass of 'NSDictionary'
, aşağıdaki hatayı alıyorum:
var mı uygulanıyor NSDictionary başlatıcısı geçersiz kılmak için yolu veya Swift henüz bu işlemek değil?Declarations from extensions cannot be overridden yet
class DateParam : NSDictionary {
let date : NSDate
init(date: NSDate) {
super.init()
self.date = date
}
required init(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
required convenience init(dictionaryLiteral elements: (NSCopying, AnyObject)...) {
fatalError("init(dictionaryLiteral:) has not been implemented")
}
}
Kontrol Bu yüzden Swift NSDictionary için başlatıcı geçersiz kılmak henüz mümkün değil sanırım. Derleyici, 'init (dictionaryLiteral :)' seçeneğini geçersiz kılmayı gerektirir, ancak aynı zamanda buna izin vermez. Umarım Swift yeteneği kısa zamanda ekler. – Mel
Elma yapraklılığı! –
Hala ** değil ** Swift 4 ile düzeltildi. –