2013-02-10 60 views
2

我挽救了許多不同的圖像文件目錄以這樣的方式是否有文件目錄下的命令文件? IOS

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, 
                NSUserDomainMask, YES); 
NSString *documentsDirectory = [paths objectAtIndex:0]; 

int num = arc4random() % 100000000000000; 

NSString* path = [documentsDirectory stringByAppendingPathComponent: [NSString stringWithFormat:@"%dtest.png", num]]; 
NSData* data = UIImagePNGRepresentation(image); 
[data writeToFile:path atomically:YES]; 

然後,我用這種方式讀取文件:

NSString *stringPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,  NSUserDomainMask, YES)objectAtIndex:0]; 

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,  NSUserDomainMask, YES); 
NSString *documentsDirectory = [paths objectAtIndex:0]; 
//NSString* FinalPath = [documentsDirectory stringByAppendingPathComponent: @"Images/"]; 

NSArray *filePathsArray = [[NSFileManager defaultManager] subpathsOfDirectoryAtPath:documentsDirectory error:&error]; 

for(int i=0;i<[filePathsArray count];i++) 
{ 
    NSString *strFilePath = [filePathsArray objectAtIndex:i]; 
    if ([[strFilePath pathExtension] isEqualToString:@"jpg"] || [[strFilePath pathExtension] isEqualToString:@"png"] || [[strFilePath pathExtension] isEqualToString:@"PNG"]) 
    { 
     NSString *imagePath = [[stringPath stringByAppendingFormat:@"/"] stringByAppendingFormat:strFilePath]; 
     NSData *data = [NSData dataWithContentsOfFile:imagePath]; 
     if(data) 
     { 

      @try { 

       NSString *nameOfGroup = [array objectAtIndex:i]; 

       MWPhoto *photo; 
       photo= [MWPhoto photoWithFilePath:imagePath]; 
       [finalPhotoArray addObject:photo]; 
      } 
      @catch (NSException *exception) { 

       NSString *nameOfGroup = @"No description available for this sheet"; 

       MWPhoto *photo; 
       photo= [MWPhoto photoWithFilePath:imagePath]; 
       [finalPhotoArray addObject:photo]; 

      } 


     } 
    } 

的問題是圖像不正確排序,在我保存文件的順序中,但它們混在一起。有沒有辦法訂購它們?當我保存到文檔目錄時,這些文件是否混在一起?

+0

爲什麼你需要爲了文件,如果你可以只排序其路徑的陣列?你知道,硬盤不是按字母順序排列的。 – CodaFi 2013-02-10 20:26:00

+0

我需要它們,以便因爲我有字幕的陣列,並且每個標題是有序的,並且對應於一個圖像:例如1與1,2與2 ... – user2014474 2013-02-10 20:27:34

+0

給您的文件名稱根據需要,你可以按字母順序排列,或以其他方式訂購。 – 2013-02-10 20:35:22

回答

5

對於contentsOfDirectoryAtPath:error:(這是subpathsOfDirectoryAtPath:error:的非遞歸當量)的文件說:

文件的返回的數組中的順序是不確定的。

如果要將圖像路徑與標題相關聯,則應在某處存儲該關聯。如果您將標題存儲在NSStrings的NSArray中,則可以將它們存儲在NSDrayaries的NSArray中。每個字典都有一個key @「imagePath」和@「caption」。

此外,在處理表示路徑的NSString時,應使用文檔中的使用路徑中列出的方法。 (例如的替代stringByAppendingPathComponent:stringByAppendingFormat:

相關問題