Error[8]: Undefined offset: 19, 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(

如何按属性值(日期)对包含NSManagedObject子类实例的swift数组进行排序

Swift编译器在某种程度上没有提供有用的错误,这是一个问题。真正的问题是

NSDate
不能直接比较
<
。相反,您可以使用
NSDate
compare
方法,如下所示:

days.sort({ 
NSDate
.date.compare(.date) == NSComparisonResult.OrderedAscending })

另外,您也可以扩展

Comparable
来实现
<
协议,以便它可以与之比较
<=
(与
>
>=
==
public func <(a: NSDate, b: NSDate) -> Bool {    return a.compare(b) == NSComparisonResult.OrderedAscending}public func ==(a: NSDate, b: NSDate) -> Bool {    return a.compare(b) == NSComparisonResult.OrderedSame}extension NSDate: Comparable { }
):

注意:

<
您只需要实现
==
<=
上面显示,然后休息运营商
>
days.sort({ [+++].date < .date })
等会通过标准库提供。

有了它,您原来的排序功能应该可以正常工作:

[+++]


)
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: 20, 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(

如何按属性值(日期)对包含NSManagedObject子类实例的swift数组进行排序

Swift编译器在某种程度上没有提供有用的错误,这是一个问题。真正的问题是

NSDate
不能直接比较
<
。相反,您可以使用
NSDate
compare
方法,如下所示:

days.sort({ 
NSDate
.date.compare(.date) == NSComparisonResult.OrderedAscending })

另外,您也可以扩展

Comparable
来实现
<
协议,以便它可以与之比较
<=
(与
>
>=
==
public func <(a: NSDate, b: NSDate) -> Bool {    return a.compare(b) == NSComparisonResult.OrderedAscending}public func ==(a: NSDate, b: NSDate) -> Bool {    return a.compare(b) == NSComparisonResult.OrderedSame}extension NSDate: Comparable { }
):

注意:

<
您只需要实现
==
<=
上面显示,然后休息运营商
>
days.sort({ .date < .date })
等会通过标准库提供。

有了它,您原来的排序功能应该可以正常工作:

[+++]


)
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)
.date"og:type" content="webpage">.date" /> .date"> 如何按属性值(日期)对包含NSManagedObject子类实例的swift数组进行排序_随笔_内存溢出

阅读 12

如何按属性值(日期)对包含NSManagedObject子类实例的swift数组进行排序,第1张

如何按属性值(日期)对包含NSManagedObject子类实例的swift数组进行排序

Swift编译器在某种程度上没有提供

有用的错误,这是一个问题。真正的问题是
NSDate
不能直接比较
<
。相反,您可以使用
NSDate

compare
方法,如下所示:
days.sort({ 
NSDate
.date.compare(.date) == NSComparisonResult.OrderedAscending })

另外,您也可以扩展
Comparable
来实现
<
协议,以便它可以与之比较
<=
(与
>
>=
==

public func <(a: NSDate, b: NSDate) -> Bool { return a.compare(b) == NSComparisonResult.OrderedAscending}public func ==(a: NSDate, b: NSDate) -> Bool { return a.compare(b) == NSComparisonResult.OrderedSame}extension NSDate: Comparable { }
):
注意:

<
您只需要实现
==
<=
上面显示,然后休息运营商
>
days.sort({ .date < .date })

等会通过标准库提供。

有了
它,您原来的排序功能应该可以正常工作:


欢迎分享,转载请注明来源:

内存溢出

原文地址:

https://outofmemory.cn/zaji/5642152.html
编译器
(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
uv镜品牌 uv镜品牌 一级用户组
Objective-C和Swift URL编码
上一篇
2022-12-16
AngularJs:在内部调用$ http或$ resource时,方法会同步返回
2022-12-16

发表评论
请登录后评论... 登录
提交

    评论列表(0条)
保存
{label} {label} .date', author : 'uv镜品牌', cat_name : '随笔', time_y_m : '2022年12月', time_d : '16', site_motto : '内存溢出' }; {script} {script}