【发布时间】:2015-01-07 19:29:27
【问题描述】:
大家好,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: -- 前面的麻烦 Unrecognized 选择器 -[SwiftColorArt.PCCountedColor 比较:]
我是 Swift 新手,已经检查过Apple's official documentation which can be found here.
我尝试了几种语法变体(添加“:”或删除它们,将函数名称作为字符串传递或不传递......以及各种组合)但它们都没有帮助。
所以在绝望中我向你寻求帮助。
最好的问候,
一月
【问题讨论】:
-
可能与这里的问题相同:stackoverflow.com/questions/24415662/….
-
你应该真的使用Swift's
sortfunction。
标签: ios sorting swift nsarray unrecognized-selector