brzmi śmiesznie, ale jestem w stanie rozwiązać ten kawałek kodu:nie może powoływać „filtr” z listy argumentów typu „((_) -> _)”
self.runningScripts.filter({ $0 != scriptRunner })
Nieważne jak ja Napisać zamknięcie zawsze uzyskać ten błąd:
Cannot invoke 'filter' with an argument list of type '
((_) -> _)
'
runningScripts
jest zdefiniowany następująco:
var runningScripts = [ScriptRunner]()
i ScriptRunner
to klasa Swift (nie dziedziczy po NSObject)
Używam prawie tego samego w wielu innych miejscach bez problemów. Jakieś sugestie?
... czy można zrobić to podklasa NSObject (która jest zgodna z 'Equatable'). Odkryłem to właśnie w tej chwili. Mimo wszystko dziękuję! (I faktycznie chciałem użyć '! ==' ...) – idmean
Byłbym ostrożny z tą techniką 'NSObject'. Sprawia, że '==' zachowuje się bardziej jak '===', chyba że przesłonisz 'isEqual' z czymś bardziej logicznym (lub zaimplementuj' == 'siebie, w takim przypadku po prostu dostosowanie do' Równywalnego' jest prostsze). – Rob
Dzięki za ostrzeżenie. Właśnie zdałem sobie sprawę, że po napisaniu komentarza, dlatego dodałem "* I faktycznie chciałem użyć! == ... *" – idmean