После использования этого кода из учебника, который, по-видимому, работал до этого, теперь не работает с помощью swift 3, но я не уверен, почему. Ошибка показывает на линии: если содержит (uniqueValues, значение как T)Ошибка: дополнительный аргумент при вызове
extension Array {
func unique<T: Equatable>() -> [T] {
var uniqueValues = [T]();
for value in self {
if !contains(uniqueValues, value as T) {
uniqueValues.append(value as! T);
}
}
return uniqueValues;
}
func first<T>(test:(T) -> Bool) -> T? {
for value in self {
if test(value as! T) {
return value as? T;
}
}
return nil;
}
}
Вы прыжки с Swift 1.2 до Swift 3 ... это огромный скачок. :) Там много изменений, вы должны прочитать [обновленное руководство по языку] (https://developer.apple.com/library/prerelease/content/documentation/Swift/Conceptual/Swift_Programming_Language/TheBasics.html#//apple_ref/doc/ UID/TP40014097-СН5-ID309). – Moritz
Это «уникальное» импликация - это O (N^2), вы должны увидеть http://stackoverflow.com/a/33553374/3141234 – Alexander
Еще один здесь: http://stackoverflow.com/questions/32159295/contains-in -xcode-7-бета-5. –