【发布时间】:2015-11-04 03:03:40
【问题描述】:
link 告诉您排序函数的外观,但我无法让 Swift 函数看起来像那样。
这是我的电话:
packetsArray.sortUsingFunction(comparePacketDates, context: nil)
这是我的函数,我已经尝试了无数其他变体:
static func comparePacketDates(packet1 : AnyObject, packet2: AnyObject, context: UnsafeMutablePointer<Void>) -> Int {
我已经尝试使用 c 函数,这个和其他一些变体:
NSInteger comparePacketDates(id packet1, id packet2, void* dummy);
它总是“不能用参数列表调用......”说函数不是预期的第一个参数。
有没有人有可以作为 Swift sortUsingFunction 的第一个参数接受的 Swift 函数的示例代码?甚至是一个可以作为 Swift SortUsingFunction 的第一个参数接受的 c 函数?
【问题讨论】:
-
我认为您的 swift comparePacketDates 函数的主体丢失了。这可能有助于诊断问题。此外,您可以考虑将 NSMutableArray 转换为 Swift 数组并使用 Swift 的排序机制。见这里:stackoverflow.com/questions/25837539/…
-
comparePacketDates 的主体无关紧要,因为它没有走那么远。它不会接受我在 sortUsingFunction 中将其声明为第一个参数的方式。此外,如果我确实将它转换为 Swift 数组,Swift 的排序是否适用于自定义对象数组?还是只是对字符串和数字数组进行排序?
标签: swift nsmutablearray