2017-08-04 59 views
0

我有一個文本文件,其中包含五行。我閱讀這些文件並將它們放在一行中。像這樣如何使用objective-C中的日期屬性對數據行進行排序?

char urlOfFile[100] = {0}; 
    printf("Enter URL Of File: "); 
    scanf("%s", urlOfFile); 
    NSString *convertedString = [NSString stringWithFormat:@"%s", urlOfFile]; 
    NSURL *url = [NSURL fileURLWithPath:convertedString]; 
    NSString *fileContent = [NSString stringWithContentsOfURL:url encoding:NSUTF8StringEncoding error:nil]; 
    NSArray *allLines = [fileContent componentsSeparatedByCharactersInSet:[NSCharacterSet newlineCharacterSet]]; 
    for (NSString* line in allLines) { 
     NSLog(@"Line contains = %@", line); 
    } 

和文件包含:

項目說明開始日期分類負責儲蓄金額外幣複雜

4降低生產相關的非歸類側成本2013-01-01 00:00: 00.000乳業菊花米爾克斯11689.322459 EUR危險

5停止在生產中使用2013年4月1日氪00:00:00.000乳業克拉克·肯特NULL NULL中等

6黑白logo紙2012-06-01 00:00:00.000辦公用品Clark Kent 4880.199567 EUR簡單

6黑白logo紙2012-06-01 00:00:00.000辦公用品Clark Kent 4880.199567 EUR簡單

如何根據開始日期列中的給定日期按照升序和降序對這些行進行排序,如果參數是項目編號,則只顯示一行。 任何幫助或線索將不勝感激。

+0

線索#1 - 掃描每行文本中的日期。 – Abizern

+0

似乎csv給我,但分隔符不存在?或者它是一個空間,顯然不是「獨一無二的」。 – Larme

+0

但我得到的行與上面的代碼分開,我可以把他們每行到數組中。但如何排序它們我很想知道 –

回答

1

我打賭你的數據是TAB分隔的(StackOverflow顯示標籤爲單個空格)。

所以......

NSString *fileContent = [NSString stringWithContentsOfURL:url encoding:NSUTF8StringEncoding error:nil]; 
NSArray *allLines = [fileContent componentsSeparatedByCharactersInSet:[NSCharacterSet newlineCharacterSet]]; 
for (NSString* line in allLines) { 
    NSLog(@"Line contains = %@", line); 

    // split each tab-delimited line into fields 
    NSArray *allFields = [line componentsSeparatedByString:@"\t"]; 

    // store the fields in an array of custom class, or core-data, or whatever 
    [theData addObject:[MyClass initWithArray:allFields]]; 
} 

然後你可以排序的日期或任何你想要的其他現場/標準。

相關問題