Error[8]: Undefined offset: 5, File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 121
File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 473, decode(

概述参见英文答案 > How do I sort a swift array containing instances of NSManagedObject subclass by an attribute value (date)                                    5个 我有一个名为Event的模型类. import Foundationimport MapKi 参见英文答案 > How do I sort a swift array containing instances of NSManagedObject subclass by an attribute value (date)                                    5个
我有一个名为Event的模型类.

import Foundationimport MapKitpublic class Event {    let ID: Int    var Title: String?    let status: String    let location: String    var description: String?    var latitude: CLLocationdegrees?    var longitude: CLLocationdegrees?    var startDate: NSDate?    var endDate: NSDate?    init(ID: Int,location: String,status: String) {        self.ID = ID        self.location = location        self.status = status    }}

我从Web API获取事件数据作为JsON响应.然后我通过解析JsON数据创建Event对象并将它们放入一个类型化的数组中(var events = [Event]()).

private func processEventData(data: JsON) {    var events = [Event]()    if let eventsArray = data.array {        for eventObj in eventsArray {            let event = Event(                ID: eventObj["ID"].int!,location: eventObj["location"].string!,status: eventObj["status"].string!            )            event.Title = eventObj["Title"].string            event.description = eventObj["description"].string            event.latitude = eventObj["lat"].double            event.longitude = eventObj["lng"].double            event.startDate = NSDate(string: eventObj["start"].string!)            event.endDate = NSDate(string: eventObj["end"].string!)            events.append(event)        }    }}

接下来,我需要通过startDate属性值对此数组进行排序.我尝试使用像这样的新Swift标准库函数排序对数组进行排序.

var orderedEvents = events.sort({ 
events.sort({ 
events.sort({ [+++].date.timeIntervalSince1970 < .date.timeIntervalSince1970 })
.date.compare(.date) == NSComparisonResult.OrderedAscending })
.startDate! < .startDate! })

但奇怪的是我得到以下错误.

无法使用类型为'((_,_) – > _)’的参数列表调用’sort’

我不明白为什么我不能这样排序,因为我有一个类型化的数组.

知道我在这里做错了吗?

解决方法 您无法使用<直接比较日期. *** 作符.从那里,你有几个选择.首先,您可以使用NSDate的比较功能.

[+++]

另一种方法是获取日期的.timeIntervalSince1970属性,这是一个可以直接比较的NSTimeInterval:

[+++] 总结

以上是内存溢出为你收集整理的ios – 使用排序函数[复制]按NSDates排序数组全部内容,希望文章能够帮你解决ios – 使用排序函数[复制]按NSDates排序数组所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

)
File: /www/wwwroot/outofmemory.cn/tmp/route_read.php, Line: 126, InsideLink()
File: /www/wwwroot/outofmemory.cn/tmp/index.inc.php, Line: 166, include(/www/wwwroot/outofmemory.cn/tmp/route_read.php)
File: /www/wwwroot/outofmemory.cn/index.php, Line: 30, include(/www/wwwroot/outofmemory.cn/tmp/index.inc.php)
Error[8]: Undefined offset: 6, File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 121
File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 473, decode(

概述参见英文答案 > How do I sort a swift array containing instances of NSManagedObject subclass by an attribute value (date)                                    5个 我有一个名为Event的模型类. import Foundationimport MapKi 参见英文答案 > How do I sort a swift array containing instances of NSManagedObject subclass by an attribute value (date)                                    5个
我有一个名为Event的模型类.

import Foundationimport MapKitpublic class Event {    let ID: Int    var Title: String?    let status: String    let location: String    var description: String?    var latitude: CLLocationdegrees?    var longitude: CLLocationdegrees?    var startDate: NSDate?    var endDate: NSDate?    init(ID: Int,location: String,status: String) {        self.ID = ID        self.location = location        self.status = status    }}

我从Web API获取事件数据作为JsON响应.然后我通过解析JsON数据创建Event对象并将它们放入一个类型化的数组中(var events = [Event]()).

private func processEventData(data: JsON) {    var events = [Event]()    if let eventsArray = data.array {        for eventObj in eventsArray {            let event = Event(                ID: eventObj["ID"].int!,location: eventObj["location"].string!,status: eventObj["status"].string!            )            event.Title = eventObj["Title"].string            event.description = eventObj["description"].string            event.latitude = eventObj["lat"].double            event.longitude = eventObj["lng"].double            event.startDate = NSDate(string: eventObj["start"].string!)            event.endDate = NSDate(string: eventObj["end"].string!)            events.append(event)        }    }}

接下来,我需要通过startDate属性值对此数组进行排序.我尝试使用像这样的新Swift标准库函数排序对数组进行排序.

var orderedEvents = events.sort({ 
events.sort({ 
events.sort({ .date.timeIntervalSince1970 < .date.timeIntervalSince1970 })
.date.compare(.date) == NSComparisonResult.OrderedAscending })
.startDate! < .startDate! })

但奇怪的是我得到以下错误.

无法使用类型为'((_,_) – > _)’的参数列表调用’sort’

我不明白为什么我不能这样排序,因为我有一个类型化的数组.

知道我在这里做错了吗?

解决方法 您无法使用<直接比较日期. *** 作符.从那里,你有几个选择.首先,您可以使用NSDate的比较功能.

[+++]

另一种方法是获取日期的.timeIntervalSince1970属性,这是一个可以直接比较的NSTimeInterval:

[+++] 总结

以上是内存溢出为你收集整理的ios – 使用排序函数[复制]按NSDates排序数组全部内容,希望文章能够帮你解决ios – 使用排序函数[复制]按NSDates排序数组所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

)
File: /www/wwwroot/outofmemory.cn/tmp/route_read.php, Line: 126, InsideLink()
File: /www/wwwroot/outofmemory.cn/tmp/index.inc.php, Line: 166, include(/www/wwwroot/outofmemory.cn/tmp/route_read.php)
File: /www/wwwroot/outofmemory.cn/index.php, Line: 30, include(/www/wwwroot/outofmemory.cn/tmp/index.inc.php)
Error[8]: Undefined offset: 7, File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 121
File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 473, decode(

概述参见英文答案 > How do I sort a swift array containing instances of NSManagedObject subclass by an attribute value (date)                                    5个 我有一个名为Event的模型类. import Foundationimport MapKi 参见英文答案 > How do I sort a swift array containing instances of NSManagedObject subclass by an attribute value (date)                                    5个
我有一个名为Event的模型类.

import Foundationimport MapKitpublic class Event {    let ID: Int    var Title: String?    let status: String    let location: String    var description: String?    var latitude: CLLocationdegrees?    var longitude: CLLocationdegrees?    var startDate: NSDate?    var endDate: NSDate?    init(ID: Int,location: String,status: String) {        self.ID = ID        self.location = location        self.status = status    }}

我从Web API获取事件数据作为JsON响应.然后我通过解析JsON数据创建Event对象并将它们放入一个类型化的数组中(var events = [Event]()).

private func processEventData(data: JsON) {    var events = [Event]()    if let eventsArray = data.array {        for eventObj in eventsArray {            let event = Event(                ID: eventObj["ID"].int!,location: eventObj["location"].string!,status: eventObj["status"].string!            )            event.Title = eventObj["Title"].string            event.description = eventObj["description"].string            event.latitude = eventObj["lat"].double            event.longitude = eventObj["lng"].double            event.startDate = NSDate(string: eventObj["start"].string!)            event.endDate = NSDate(string: eventObj["end"].string!)            events.append(event)        }    }}

接下来,我需要通过startDate属性值对此数组进行排序.我尝试使用像这样的新Swift标准库函数排序对数组进行排序.

var orderedEvents = events.sort({ 
events.sort({ 
events.sort({ .date.timeIntervalSince1970 < .date.timeIntervalSince1970 })
.date.compare(.date) == NSComparisonResult.OrderedAscending })
.startDate! < .startDate! })

但奇怪的是我得到以下错误.

无法使用类型为'((_,_) – > _)’的参数列表调用’sort’

我不明白为什么我不能这样排序,因为我有一个类型化的数组.

知道我在这里做错了吗?

解决方法 您无法使用<直接比较日期. *** 作符.从那里,你有几个选择.首先,您可以使用NSDate的比较功能.

另一种方法是获取日期的.timeIntervalSince1970属性,这是一个可以直接比较的NSTimeInterval:

[+++] 总结

以上是内存溢出为你收集整理的ios – 使用排序函数[复制]按NSDates排序数组全部内容,希望文章能够帮你解决ios – 使用排序函数[复制]按NSDates排序数组所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

)
File: /www/wwwroot/outofmemory.cn/tmp/route_read.php, Line: 126, InsideLink()
File: /www/wwwroot/outofmemory.cn/tmp/index.inc.php, Line: 166, include(/www/wwwroot/outofmemory.cn/tmp/route_read.php)
File: /www/wwwroot/outofmemory.cn/index.php, Line: 30, include(/www/wwwroot/outofmemory.cn/tmp/index.inc.php)
ios – 使用排序函数[复制]按NSDates排序数组_app_内存溢出

ios – 使用排序函数[复制]按NSDates排序数组

ios – 使用排序函数[复制]按NSDates排序数组,第1张

概述参见英文答案 > How do I sort a swift array containing instances of NSManagedObject subclass by an attribute value (date)                                    5个 我有一个名为Event的模型类. import Foundationimport MapKi 参见英文答案 > How do I sort a swift array containing instances of NSManagedObject subclass by an attribute value (date)                                    5个
我有一个名为Event的模型类.

import Foundationimport MapKitpublic class Event {    let ID: Int    var Title: String?    let status: String    let location: String    var description: String?    var latitude: CLLocationdegrees?    var longitude: CLLocationdegrees?    var startDate: NSDate?    var endDate: NSDate?    init(ID: Int,location: String,status: String) {        self.ID = ID        self.location = location        self.status = status    }}

我从Web API获取事件数据作为JsON响应.然后我通过解析JsON数据创建Event对象并将它们放入一个类型化的数组中(var events = [Event]()).

private func processEventData(data: JsON) {    var events = [Event]()    if let eventsArray = data.array {        for eventObj in eventsArray {            let event = Event(                ID: eventObj["ID"].int!,location: eventObj["location"].string!,status: eventObj["status"].string!            )            event.Title = eventObj["Title"].string            event.description = eventObj["description"].string            event.latitude = eventObj["lat"].double            event.longitude = eventObj["lng"].double            event.startDate = NSDate(string: eventObj["start"].string!)            event.endDate = NSDate(string: eventObj["end"].string!)            events.append(event)        }    }}

接下来,我需要通过startDate属性值对此数组进行排序.我尝试使用像这样的新Swift标准库函数排序对数组进行排序.

var orderedEvents = events.sort({ 
events.sort({ 
events.sort({ .date.timeIntervalSince1970 < .date.timeIntervalSince1970 })
.date.compare(.date) == NSComparisonResult.OrderedAscending })
.startDate! < .startDate! })

但奇怪的是我得到以下错误.

无法使用类型为'((_,_) – > _)’的参数列表调用’sort’

我不明白为什么我不能这样排序,因为我有一个类型化的数组.

知道我在这里做错了吗?

解决方法 您无法使用<直接比较日期. *** 作符.从那里,你有几个选择.首先,您可以使用NSDate的比较功能.

另一种方法是获取日期的.timeIntervalSince1970属性,这是一个可以直接比较的NSTimeInterval:

总结

以上是内存溢出为你收集整理的ios – 使用排序函数[复制]按NSDates排序数组全部内容,希望文章能够帮你解决ios – 使用排序函数[复制]按NSDates排序数组所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1004456.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存