Sınıf türünde bir dizi döndürecek bir sınıf işlevi yazmak istiyorum. Anladığım kadarıyla, "instanceType" objesi için "Kendi" yi kullanabilirim. Amacım, bir fetchObjects yöntemiyle bir NSManagedObject uzantısı oluşturmaktır. Bu yöntem, bir dizi NSManagedObject alt sınıflarını döndürecektir.Swift: return Kendiliğinden türünün özeti
extension NSManagedObject {
class func fetchObjects(entity: String, context: NSManagedObjectContext, predicate: NSPredicate?, sortDescriptors: NSSortDescriptor[]?) -> Self[] {
// can't define return type of an array with type Self
// also var declaration does not work
var objects : Self[]?
return objects
}
}
i tip Öz dizisi tanımlayabiliriz konusunda bir fikrin: Burada derleme değil benim sözde kodunun bir örnektir?
Yardımlarınız için teşekkürler!
İşlev şu şekilde parametre atayabilirsiniz: 'class fund fetchObjects (...) -> Self []?' Ancak derlemeyi ObjC'den Swift'e, yani derleyicinin Her NSManagedObject için karşılık gelen Swift nesnesi olacağını garanti eder. Yine de harika bir soru olurdu. –
Brett
Sadece açık olmak gerekirse, bir 'alt sınıflar' dizisi aramıyorsunuz, adlandırılmış bir süper sınıfın alt sınıfı olan türlere ait bir dizi örnek arıyorsunuz? – GoZoner
Evet, başarmak istediklerim var, bu yüzden bir NSManagedObject alt sınıfı olarak adlandırırsanız ve bu alt sınıfın bir örneğini döndürürse – user966697