嘿stackoverflow的人们,

我很快实现了该类:

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:警告:对象
'SwiftColorArt.PCCountedColor'类的0x7fd391b25a50不
实现methodSignatureForSelector:-遇到麻烦,无法识别
选择器-[SwiftColorArt.PCCountedColor比较:]

我是Swift的新手,已经检查过Apple's official documentation which can be found here.

我尝试了几种语法变体(添加“:”或将其删除,将函数名称作为字符串传递或不作为字符串以及各种组合),但是它们都没有帮助。

因此,在绝望中,我求助于您。

最好的祝福,

一月

最佳答案

“” SwiftColorArt.PCCountedColor“未实现methodSignatureForSelector:-遇到麻烦无法识别的选择器-[SwiftColorArt.PCCountedColor比较:]”

错误消息告诉您该怎么办。使此类成为NSObject的子类,一切都会很好。

08-27 05:03