菜鸟教程小白 发表于 2022-12-13 12:04:21

ios - 如何在ios中的NSMutableArray中对时间进行排序


                                            <p><p>我在 NSMutableArray 中有一组字典。现在我想按时间升序和降序排序这是我的数组值。</p>

<pre><code>(
    {
    StartTime = &#34;09:00 AM&#34;;
    TravelsName = &#34;ABC Travels&#34;;
},
    {
    StartTime = &#34;07:30 AM&#34;;
    TravelsName = &#34;XYZ Travels &#34;;
},
    {
    StartTime = &#34;06:45 PM&#34;;
    TravelsName = &#34;GSPTravels&#34;;
},
    {
    StartTime = &#34;05:00 PM&#34;;
    TravelsName = &#34;MaduraTravels&#34;;
},
    {
    StartTime = &#34;12:45 AM&#34;;
    TravelsName = &#34;MJT Travels&#34;;
},
    {
    StartTime = &#34;12:45 PM&#34;;
    TravelsName = &#34;OPR Travels&#34;;
},
    {
    StartTime = &#34;01:00 AM&#34;;
    TravelsName = &#34;VMS Travels&#34;;
}
)
</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[@&#34;StartTime&#34;]];
}];
</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[@&#34;StartTime&#34;]];
</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]
查看完整版本: ios - 如何在ios中的NSMutableArray中对时间进行排序