Я новичок в Swift и пытаюсь написать свою первую функцию, которая вызывает закрытие, которое проходит пользователь. У меня возникли проблемы с вызовом моей функции (которую я назвал забавой). Я также не смог найти примеры этого онлайн. Я просто хочу назвать свое закрытие (я не уверен, что ему передать?), А затем принять решение, основанное на логическом результате? Это кажется очень легким, но я не уверен.Вызов Быстрое закрытие с параметрами
Целью метода является удаление дубликатов в массиве на основе спецификаций пользователей. В моем случае я могу перейти к определенному классу и массиву, а затем удалить все классы с одинаковым именем (т. Е. Строка имени, которая соответствует).
extension Array{
func removeDuplicates<T: Comparable>(fun: (elem: T, arr: [T]) -> Bool) -> [T]
{
var array = [T]()
for element in self
{
if fun(elem: T(), arr: [T])
{
println("hello")
}
}
return array
}
}
Что такое 'self'? –
Извините, это часть расширения Array. Таким образом, вы бы назвали этот метод в любом выбранном вами массиве. Я обновил блок кода. – applejuiceteaching
Я еще не вижу того, чего вы на самом деле пытаетесь достичь. В любом случае вы * не можете * написать метод расширения массива, который применяется только к ограниченным типам элементов (т. Е. Только к массивам 'Comparable'). См. Http://stackoverflow.com/questions/24938948/array-extension-to-remove-object-by-value или http://stackoverflow.com/questions/27350941/is-it-possible-to-make-an -array-расширение-в-быстроногий, что-это-ограничено к одной CLA. –