byt*_*yer 4 object objective-c nsdate ios
我有一个从自定义类创建的对象数组.每个对象都有一个NSDate属性.根据日期属性订购所有这些对象的最简单,最快捷的方法是什么?(从最近到最近的顺序).
Dar*_*ren 19
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"thisIsTheNameOfYourDateProperty" ascending:NO];
NSArray *orderedArray = [arrayOfCustomObjects sortedArrayUsingDescriptors:[NSArray arrayWithObject:sortDescriptor]];
Run Code Online (Sandbox Code Playgroud)
试试这个:
NSArray* newArray = [array sortedArrayUsingComparator: ^NSComparisonResult(MyClass *c1, MyClass *c2)
{
NSDate *d1 = c1.date;
NSDate *d2 = c2.date;
return [d1 compare:d2];
}];
Run Code Online (Sandbox Code Playgroud)
还有一些方法可以对类似于上面的可变数组进行排序.
编辑:我知道还有其他方法可以使用更少的代码来实现这一点,但我真的更喜欢块枚举器用于各种各样的事情,所以我发现它在实践中很有用.您还可以调整这些以使用更多非标准排序(整数与对象)并实际记录使用NSLog()发生的事情...).
| 归档时间: |
|
| 查看次数: |
4688 次 |
| 最近记录: |