• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> 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.