Pourquoi ce travail, où PageBreak est un NSManagedObjectPourquoi ne puis-je pas obtenir des informations spécifiques au type dans mon extension Sequence?
extension Sequence where Iterator.Element : PageBreak {
var landscape: [PageBreak] {
return self.filter({ (pageBreak) -> Bool in
return !pageBreak.isPortraitOrientation
})
}
var portrait: [PageBreak] {
return self.filter({ (pageBreak) -> Bool in
return pageBreak.isPortraitOrientation
})
}
}
Mais pas:
extension Sequence where Iterator.Element : String {
var onlyDumbOnes: [String] {
return self.filter({ (string) -> Bool in
if string.hasPrefix("Dumb") {
return true
}
return false
})
}
}
Le compilateur échoue. Donc, il ne semble pas savoir que nous avons affaire à des objets String.
C'est le chemin! Correct. – horseshoe7