0

XML の期日で行を並べ替える必要があります。

<plist version="1.0">
<array>
<array>
    <string>23 Jan 2012</string>
    <string>Chinese New Year</string>
    <string>Closed</string>
</array>
<array>
    <string>24 Jan 2012</string>
    <string>Chinese New Year</string>
    <string>Closed</string>
</array>
</array>

私はで与えられた答えを研究しました: Objects Sorting With date ,Time Problem in Array(Iphone Development)これは非常に便利だと思いましたが、疑問です:

  1. @"entity" と @"date" をどこで取得するのかわかりません。それは変数またはIDですか、どこで取得できますか?

    if (date) {
    [dict setObject:entry forKey:@"entity"];
    [dict setObject:date forKey:@"date"];
    [tempArray addObject:dict]; }

  2. 指定された月は MMM 形式 (JAN、FEB、MAR) であり、これは私のプロジェクトの範囲の 1 つとして固定されており、通常の番号付きのものと比較して、略語でどのように並べ替えることができるかについてはわかりません。

私は数日間これに行き詰まっているので、ここでいくつかの助けに深く感謝します!! ありがとう!

4

2 に答える 2

0

なぜ MMM の月の形式が必要なのですか? 「20120131」「YYYYmmdd」の日付形式が順序付けられているため、ソートして読みやすい日付に戻すのがより簡単になります。

xml は配列の配列です。このファイルは NSArray arrayWithContentsOfFile を使用して無料でロードします。

個人的には、タグの順序はxml標準では保証されていないため、辞書の配列を使用します(よく覚えていれば)。

ここでxmlの順序について読んでください:http://www.ibm.com/developerworks/xml/library/x-eleord/index.html

于 2012-07-13T07:40:05.200 に答える
0

オブジェクト(yourDateString、yourEvent、yourStatus)でクラス(YourClass)を作成します

YourClass
--yourDateString
--yourEvent
--yourStatus

このクラス(YourClass)のオブジェクトでxml保存の詳細を解析し、使用してこの配列(arrayWithYourContents)にオブジェクトを保存します

    NSDateFormatter* dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setTimeStyle:NSDateFormatterFullStyle];
    [dateFormatter setDateFormat:@"dd mmm yyyy"];

    arrayWithYourContents sortUsingComparator: ^(id dateObj1, id dateObj2) 
     {
         NSDate *date1 = [dateFormatter dateFromString:[(YourClass *) dateObj1 yourDateString]];


         NSDate *date2 = [dateFormatter dateFromString:[(YourClass *) dateObj2 yourDateString]];

         return [date2 compare: date1];
     }
     ];  

日付の形式 (@"dd mmm yyyy") がわかりません。これが機能するかどうかを確認するか、自分のものに一致するものに変更してください。

arrayWithYourContents には、ソートされた日付コンポーネントが含まれるようになりました。

于 2012-07-13T06:59:52.570 に答える