Эй люди StackOverflow,Использование sortedArrayUsingSelector в Swift
Я реализовал этот класс в скор:
class PCCountedColor {
var color:UIColor
var count:Int
init (color:UIColor, count:Int)
{
self.color = color;
self.count = count;
}
func compare(object:PCCountedColor) -> NSComparisonResult
{
if (self.count < object.count)
{
return NSComparisonResult.OrderedDescending
}
else if (self.count == object.count)
{
return NSComparisonResult.OrderedSame
}
return NSComparisonResult.OrderedAscending
}
}
Тогда у меня есть NSMutableArray, который заполняется объектами выше класса:
var sortedColors:NSMutableArray = []
var container:PCCountedColor = PCCountedColor(color:curColor, count: colorCount)
sortedColors.addObject(container)
После этого я стараюсь, чтобы этот массив отсортирован по специальной функции в вышеуказанном классе:
sortedColors.sortedArrayUsingSelector(Selector("compare:"))
Но все это я получаю ошибку:
SwiftColorArt[1584:42892] *** NSForwarding: warning: object 0x7fd391b25a50 of class 'SwiftColorArt.PCCountedColor' does not implement methodSignatureForSelector: -- trouble ahead Unrecognized selector -[SwiftColorArt.PCCountedColor compare:]
Я новичок в Swift и уже проверили Apple's official documentation which can be found here.
Я попробовал несколько вариантов синтаксиса (добавление «:» или удалить их, проход имя функции в виде строки или нет ... а также различные комбинации), но ни одна из них не помогла.
Так что в отчаянии я обращаюсь к вам за помощью.
С наилучшими пожеланиями,
Jan
Возможно, такая же проблема, как здесь: http://stackoverflow.com/questions/24415662/object-x-of-class-y-does-not-implement-methodsignatureforselector-in-swift. –
Вы должны *** действительно *** использовать функцию 'sort' Swift [https://developer.apple.com/library/ios/documentation/General/Reference/SwiftStandardLibraryReference/Array.html#//apple_ref/ DOC/UID/TP40014608-СН5-SW48). – akashivskyy