ios - 如何在ios中的NSMutableArray中对时间进行排序
<p><p>我在 NSMutableArray 中有一组字典。现在我想按时间升序和降序排序这是我的数组值。</p>
<pre><code>(
{
StartTime = "09:00 AM";
TravelsName = "ABC Travels";
},
{
StartTime = "07:30 AM";
TravelsName = "XYZ Travels ";
},
{
StartTime = "06:45 PM";
TravelsName = "GSPTravels";
},
{
StartTime = "05:00 PM";
TravelsName = "MaduraTravels";
},
{
StartTime = "12:45 AM";
TravelsName = "MJT Travels";
},
{
StartTime = "12:45 PM";
TravelsName = "OPR Travels";
},
{
StartTime = "01:00 AM";
TravelsName = "VMS Travels";
}
)
</code></pre>
<p>请帮助我,我已经对 NSMutableArray 中的 NSDate 集进行了排序
通过下面的代码</p>
<pre><code>//To sort the Time Array
dateFormatter = [ init];
;
NSMutableArray *dates = ;
for (NSString *timeString in times)
{
NSDate *date = ;
;
}
;
NSMutableArray *sortedTimes = ;
for (NSDate *date in dates)
{
NSString *timeString = ;
;
}
</code></pre>
<p>但我不知道如何对 NSMutableArray 中的字典进行排序帮助我。 </p></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p>最好使用 <code>NSArray</code> 中已经提供的排序方法。应该这样做:</p>
<pre><code>NSArray *stortedArray = [unsortedArray sortedArrayUsingComparator:^NSComparisonResult(NSDictionary *_Nonnull obj1, NSDictionary *_Nonnull obj2) {
return compare:obj2[@"StartTime"]];
}];
</code></pre>
<p>或者如果 <code>StartTime</code> 仍然是一个字符串:</p>
<pre><code>NSArray *stortedArray = [unsortedArray sortedArrayUsingComparator:^NSComparisonResult(NSDictionary *_Nonnull obj1, NSDictionary *_Nonnull obj2) {
return [] compare:]];
}];
</code></pre>
<p>要更改升序/降序,您只需在 block 中使用时交换 <code>obj1</code> 和 <code>obj2</code>:</p>
<pre><code>return compare:obj1[@"StartTime"]];
</code></pre></p>
<p style="font-size: 20px;">关于ios - 如何在ios中的NSMutableArray中对时间进行排序,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/33779272/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/33779272/
</a>
</p>
页:
[1]