• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Was gibt es Schöneres als den Mai draußen in der Natur mit allen Sinnen zu genießen? Lasst uns teilhaben an Euren Erlebnissen und macht mit beim Thema des Monats Da blüht uns was! ---> Klick

Dateien in einem Ordner auslesen

Mr.Sailer

Boskop
Registriert
08.09.07
Beiträge
204
Hallo,

Ich habe gerade erst begonnen mich mit Object C und Cocoa zu beschäftigen. Ich habe das Tutorial BecomanXcoder durchgemacht und wollte eigentlich mein erstes sinvolles Programm anfangen.
Ich möchte ein Programm mit dem ich einen Ordner auswählen kann und dann die Bilder in diesem Ordner automatisch skaliert werden (Ja ich weiss es gibt andere und warscheindlich bessere Lösungen für dieses Problem.)

Nunja, ich stehe bereits bei meinem ersten Problem. Und zwar möchte ich ganz einfach die die Dateinamen, von den Dateien die sich in einem Ordner befinden, in ein Array speichern.
Also habe ich in der Dokumentation und im Internt gesucht und zum Ergebnis gekommen dass contentsOfDirectoryAtPath genau das macht. Nun funktioniert das aber leider nicht.

Hier mal den code
Code:
#import <Foundation/Foundation.h>
#import <Foundation/NSFileManager.h>

int main (int argc, const char * argv[]) {
    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
    
    NSMutableArray *myArray = [NSMutableArray array];
    NSString *foo;
    opath = @"/Test/";
    
    NSMutableArray *path = [NSMutableArray arrayWithArray:[myArray contentsOfDirectoryAtPath:opath error:NULL]];
    
    int i; 
    int count; 
    for (i = 0, count = [path count]; i < count; i = i + 1) 
    { 
       NSString *element = [path objectAtIndex:i]; 
       NSLog(@"The element at index %d in the array is: %@", i, element); 
    } 
 

    [pool drain];
    return 0;
}
Dieses Programm soll noch nicht anderes machen als die Dateinamen auf der Konsole auszugeben.
Aber ich bekomme ich die Warnung:
'NSMutableArray' may not respond to '-contentsOfDirectoryAtPath:errer:'
(Messages with a matching method signature will be assumed to return 'id' and accept '...' as arguments.)

Und in der Konsole wird folgendes angezeigt:
Code:
2009-01-14 00:47:45.899 Test[1795:10b] *** -[NSCFArray contentsOfDirectoryAtPath:error:]: unrecognized selector sent to instance 0x104b00
2009-01-14 00:47:45.907 Test[1795:10b] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[NSCFArray contentsOfDirectoryAtPath:error:]: unrecognized selector sent to instance 0x104b00'
2009-01-14 00:47:45.909 Test[1795:10b] Stack: (
    2509820171,
    2435403323,
    2509849354,
    2509842700,
    2509842898
)

Irgendwie verstehe ich die Warnung nicht ganz und ich weiss nicht so recht wo suchen. Kann mir da irgendjemand weiterhelfen? :D Vielen Dank.

P.S Und ich dachte nach dem Tutorial, das ganze ist gar nicht so schwierig :D
 

Mr.Sailer

Boskop
Registriert
08.09.07
Beiträge
204
Vielen Dank. Nach nochmaligen lesen der Doku konnte ich das Problem lösen und mir wurde wieder einiges mehr klar. vielen Dank.