saçma gelebilir, ama bu kod parçası düzeltmek edemiyorum: nasıl olursa olsuntüründe bir argüman listesi '((_) -> _)' ile 'filtreyi' çağırmak Can not
self.runningScripts.filter({ $0 != scriptRunner })
Ben
Cannot invoke 'filter' with an argument list of type '
((_) -> _)
'
runningScripts
böyle tanımlanır::
var runningScripts = [ScriptRunner]()
vekapatma yazma her zaman bu hatayı alıyorumbir Swift sınıfıdır (NSObject öğesinden devralınmaz)
Neredeyse başka birçok yerde sorunsuz kullanıyorum. Baska öneri? Böyle açık döküm gerekli
class ScriptRunner : Equatable {
// the rest of your implementation here
}
func ==(lhs: ScriptRunner, rhs: ScriptRunner) -> Bool {
return ... // change this to whatever test that satisfies that lhs and rhs are equal
}
... ya bunu bir yapabilirsiniz NSObject alt sınıfı ('Equatable' ile uyumludur). Sadece bu anı buldum. Neyse, teşekkürler! (Ve aslında ben! == '...) – idmean
kullanmak istedim' NSObject' tekniğine dikkat ediyorum. '==', 'isEqual'ı geçersiz kılan bir şeyle (veya '==' kendiniz uygularsanız,' Equatable 'seçeneğine daha basittir)' === 'gibi daha fazla davranır. – Rob
Uyarı için teşekkürler. Ben sadece yorum yazdıktan sonra, "* Ve aslında ben kullanmak istedim! == ... *" – idmean