gpt4 book ai didi

ios - 在 Swift 中使用 sortedArrayUsingSelector

转载 作者:搜寻专家 更新时间:2023-11-01 06:48:00 24 4
gpt4 key购买 nike

嘿 stackoverflow 的人们,

我已经在 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.

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

所以在我绝望的时候,我向你寻求帮助。

最好的问候,

一月

最佳答案

"SwiftColorArt.PCCountedColor' does not implement methodSignatureForSelector: -- trouble ahead Unrecognized selector -[SwiftColorArt.PCCountedColor compare:]"

错误消息会告诉您该怎么做。让这个类成为 NSObject 的子类,一切都会好起来的。

关于ios - 在 Swift 中使用 sortedArrayUsingSelector,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27827160/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com