Daten/Datei an einem anderen Ort duplizieren

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Daten/Datei an einem anderen Ort duplizieren

    Hi Leute,

    ich lerne seit einigen Wochen mit diesem E-Book hier Objective-C und habe nun Kapitel 1 (Einführung in Xcode) und Kapitel 2 (Einführung in Objective-C) hinter mir. Nun wollte ich eine kleine Mac App schreiben, dessen Aufgabe es auch unteranderem ist, Daten/Datei an einem anderen Ort zu duplizieren. Den Speicherort des Duplikats kann man ja via "NSSavePanel" bestimmen. Weiter weiß ich aber auch nicht ;( . Gibt es eine Methode, welche Daten dupliziert? Wenn ja wie heißt diese und wenn nein wie sollte ich es dann am besten Realisieren?

    Danke schonmal im Voraus :)
  • gritsch schrieb:


    klar gibts sowas. schau in NSFileManager rein!

    Danke, aber da ich keine Ahnung vom NSFileManager habe, habe ich es erstmal so versuchst:

    Quellcode

    1. - (IBAction)button:(id)sender {
    2. NSFileManager *manager;
    3. BOOL result = [manager copyItemAtPath:@"/Users/Mustermann/Desktop/Test.rtf" toPath:@"/Users/Mustermann/Documents" error:nil];
    4. if (result == YES) {
    5. NSLog(@"YES");
    6. } else {
    7. NSLog(@"FALSE");
    8. }


    In der Console bekomme dann immer False zurück. Weißt du vielleicht den Grund?
  • gritsch schrieb:

    es reicht nicht eine variable zu erstellen. du musst ein objekt erstellen oder holen (zb defaultManager)


    Meinst du so?

    Quellcode

    1. - (IBAction)button:(id)sender {
    2. NSFileManager *manager = [NSFileManager defaultManager];
    3. BOOL result = [manager copyItemAtPath:@"/Users/Mustermann/Desktop/Test.rtf" toPath:@"/Users/Mustermann/Documents" error:nil];
    4. if (result == YES) {
    5. NSLog(@"YES");
    6. } else {
    7. NSLog(@"FALSE");
    8. }


    So klappt es nämlich auch nicht :(
  • gritsch schrieb:


    dstPath
    The path at which to place the copy of srcPath. This path must include the name of the file or directory in its new location. This parameter must not be nil.


    Vielen Dank hat geklappt :thumbsup: . Ich hatte auch in der Dokumentation nachgelesen, aber aus irgendeinen Grund habe ich genau diesen Satz nicht gelesen :D
  • hättest du den fehler ausgeben lassen dann wäre da wohl gestanden dass die destination-datei bereits existiert. das hätte dich dann auf die richtige fährte bringen können.
    alternativ kann man auch einfach nach dem methodennamen googlen dann findet man (meist) massig code in dem man sehen kann wie sie verwendeet wird.