"Dateifreigabe" verwenden

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

  • Nun suche ich seit Tagen nach einer Möglichkeit, die hineingeladenen Daten in einem Table View anzuzeigen. Ich habe einige Dinge gelesen, komme aber einfach nicht zum Ziel. Wie kann ich denn meine Daten jetzt darstellen? Wie löst ihr Fortgeschrittenen und Profis solche Probleme? Wie sucht ihr, um dann auch an eine Lösung zu kommen? Mit normalen Code Verständnis kann man sich doch sowas nicht herleiten, oder?
  • Es ist immer eine gute Idee, ein komplexes Problem in überschaubare Teile zu zerlegen. Bei Deinem Beispiel vielleicht so:
    1. Wo sind die Dateien gespeichert?
    2. Wie erhalte ich den Pfad dieses Verzeichnisses?
    3. Wie erhalte ich die Dateinamen eines Verzeichnisses?
    4. Wie liste ich Strings (=Dateinamen) in einer TableView auf?
    5. Wie reagiere ich auf das Selektieren einer Zeile der TableView?
    6. Wie lese ich eine (Text-) Datei ein?
    7. Wie stelle ich Text in einer neuen View dar?
    Das ist jetzt nur ganz grob strukturiert, aber jede der o. g. Fragen ist relativ überschaubar zu lösen und ein recht übliches Problem ... man findet also einfach Lösungen hierzu, die man als Anleitung verwenden kann. Mach‘ bitte Dir und anderen einen Gefallen und kopiere Code nicht, ohne ihn wirklich verstanden zu haben.

    Die Summe dieser einfachen Aufgaben löst dann Dein gesamtes Problem...

    So gehe ich zumindest vor und bin damit bisher gut gefahren.

    Mattes
    Diese Seite bleibt aus technischen Gründen unbedruckt.
  • Nun mache ich seit Wochen nichts anderes, als das Apple Tutorial zu durchlaufen und udem-Kurse rauf und runter zu sehen. Mein Grundwissen hat sich zweifelsohne gefestigt. Ich bin aber mit meinem Anliegen im Grunde keinen Schritt weiter. In keinem dieser Lehrunterlagen wird vermittelt, wie man an Kerninformationen kommt. Ein Beispiel ist der Speicherort von Dateien. Wenn ihr Fortgeschrittenen oder Profis ein Problem habt, dann findet ihr doch sicherlich eine Lösung. Ich suche mir seit Wochen einen Wahnsinnigen, weil ich nicht finden kann, wo genau iTunes meine Ordner mit den darin befindlichen Dokumenten hinlegt. Ich weiß, dass der Speicherort jedes mal anders ist, aber die Ordner die in der App bereits liegen, die sind und bleiben nun mal genau dort.

    Mein Anspruch ist nicht, dass mir jemand eine Lösung an die Hand gibt. Ich will ja lernen und endlich begreifen! Aber ich stehe einfach nur auf der Stelle. Und mir ist schleierhaft, wie ich einen Schritt nach vorne machen kann. Kann mir jemand einen Schupser geben? :/
  • Ich glaube, Du hast Dich etwas unglücklich ausgedrückt: Du suchst den Ort, wo iOS Dateien ablegt, die Du mittels iTunes überträgst. Diese landen im „Documents“-Verzeichnis des Applikations-Containers und der NSFileManager hat Methoden, den Pfad oder die URL dieses Verzeichnisses zu ermitteln.

    Das Dokument, das Du lesen solltest, findest Du hier, insbesondere den Abschnitt „Locating...“.

    Mattes
    Diese Seite bleibt aus technischen Gründen unbedruckt.
  • MyMattes schrieb:

    Ich glaube, Du hast Dich etwas unglücklich ausgedrückt [...]
    Ja, das habe anscheinend. Tut mir leid!

    Ich habe meine App via "iTunes Filesharing" dahingehend aktiviert, dass ich über iTunes Dokumente in ihr ablegen kann. Nun möchte ich ein Tableview darauf erzeugen und einfach nur Ordner, Bilder und PDF-Dokumente anzeigen.

    @MyMattes: Vielen Dank für Deinen Link! Ich werde mir das mal ansehen.

    Einen Blick in meinen (Anfänger)kopf: Ich weiß, dass die von mir abgelegten Dokumente im "Documents" Ordner landen. Und ich kann den Pfad über

    let documentsDirectory = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true).last!

    auslesen. Mich irritiert aber total, dass ich nirgends einen "Documents" Ordner sehen kann. Ich muss also (nach meinem Verständnis) auf ein Verzeichnis zeigen, von dem ich nicht einmal weiß ob es da ist. Denn wenn ich nichts dort ablege, ist das Verzeichnis sicher nicht da, oder?!

    Vielen Dank für eure Geduld und eure Hilfe!!! Ich habe schon immer Angst, derartige Anfängerfragen zu stellen. Aber wie soll man sonst weiterkommen... Ohne ein Forum und ohne geduldige Unterstützung ist das echt nicht so einfach.
  • swifter84 schrieb:


    Ich habe schon immer Angst, derartige Anfängerfragen zu stellen. Aber wie soll man sonst weiterkommen...
    Kein Stress, hier ist noch keiner wegen Fragen gesteinigt worden ... solange er sich mit den Antworten auseinandersetzt. Alles gut :D

    Irgendwann sollte man mit Lesen und Grübeln aufhören und einfach einmal probieren: Mit dem o. g. Pfad bist Du im „Documents“-Verzeichnis. Füge eine Datei via iTunes File Sharing hinzu und sie wird dort landen. Lass Dir einfach einmal vom NSFileManager den Inhalt dieses Verzeichnisses auf der Konsole ausgeben.

    Wenn Du den Applikations-Container mal genauer sehen willst, nutze den Simulator und lasse Dir den o. g. Pfad mal ausgeben. Dann kannst Du im Finder dahin navigieren. Oder lade den Container mittels Xcode von Deinem iOS-Device. Das ist wirklich lehrreich...

    Mattes
    Diese Seite bleibt aus technischen Gründen unbedruckt.
  • Guten Morgen,
    ist es möglich, dass das seit iOS 11 NSFileProviderManager heißt? Ich habe gestern Abend mal die Developer Hilfe bemüht und ich würde NSFileManager so interpretieren, dass es das seit iOS 2 gibt und durch NSFileProviderManager seit iOS 11 ersetzt wurde.
  • swifter84 schrieb:

    ist es möglich, dass das seit iOS 11 NSFileProviderManager heißt? Ich habe gestern Abend mal die Developer Hilfe bemüht und ich würde NSFileManager so interpretieren, dass es das seit iOS 2 gibt und durch NSFileProviderManager seit iOS 11 ersetzt wurde.
    Mich würde interessieren, was Du konkret so interpretiert hast...

    Nein, Du bist auf dem Holzweg: Für den Fall, dass NSFileManager abgekündigt wäre, würdest Du entsprechende Hinweise garantiert in seiner Dokumentation finden. Ganz konkret würden seine Methoden (alle oder einzelne) als "deprecated" aufgeführt werden und der Compiler wirft (in der Standardeinstellung) auch entsprechende Warnings. Wichtig, wenn Klassen oder Methoden im Laufe der Lebenszeit Deiner Applikation auslaufen.

    Der von Dir genannte NSFileProviderManager managet File Provider, nicht Files (ach!). Diese werden - wenn ich es richtig verstanden habe - eingesetzt, um applikationsübergreifend Zugriffe auf Dateien zu ermöglichen und zu koordinieren; eine Funktion, die es erst vor kurzem in iOS geschafft hat (Stichwort "Sandboxing"). Um Operationen auf Dateien / Verzeichnissen durchzuführen, brauchst Du den NSFileManager. Dessen Methoden ändern sich zwar im Laufe der Zeit (Vorzug von URLs statt Pfaden, Unterstützung von iCloud, ...), aber die Klasse wird so schnell nicht sterben!

    Mattes
    Diese Seite bleibt aus technischen Gründen unbedruckt.