Wie findet man, was man sucht?

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

  • Wie findet man, was man sucht?

    Hallo,
    ich stosse immer wieder an meine Grenzen und kann auch nach stundenlangem googeln die Lösungen meist nicht finden.
    Z.B. in meinem Projekt "ShoppingList." OS X GUI Application, Swift.
    Im Main Window habe ich zwei Scroll Views. Unten am linken Scroll View sind zwei Buttons mit denen Strings in das Array geschrieben oder gelöscht werden sollen. Wie finde ich das Vorgehen, wenn ich den Plus Button drücke soll ein von oben runterklappendes Fenster erscheinen indem man den String eingeben kann der dann im Array gespeichert wird. (Wie das Fenster in Automator wenn man einen Dienst sichert)
    Scheinbar hat die ganze Benutzeroberfläche nichts mit Swift zu tun. Muss man die Lösung in den Frameworks suchen? Ich würde gern ein Buch lesen in dem es ausschliesslich darum geht wie man Code mit der GUI verbindet und wie man die richtigen Elemente findet. (Eingabefelder, Fenster, Knöpfe, usw.) Wie nennt man diesen Aspekt der Programmierung und wie finde ich die richtigen Methoden und Elemente und wie verbinde ich das mit dem Code?

    Ein anderes Beispiel. Ich habe eine Idee... sagen wir ich will ein Programm schreiben, dass in einem Fenster die aktuelle Uhrzeit, die GPS Position des Rechners, die Version meines Systems und der Hardware, die aktuelle lokale und globale IP und das Bild das im Adressbuch dem Namen "Betty" zugeordnet ist, zeigt. Wie finde ich heraus wo diese Daten im System gespeichert sind? Wie finde ich heraus wie ich diese Daten abrufen kann und wie finde ich heraus wie ich die Daten am besten darstellen kann?

    Danke für jeden Hinweis
    Dateien
    Die Sprache ist die Wurzel des Missverständnisses.

    var firstName = "Fischers Fritz fischt frische Fische, frische Fische fischt Fischers Fritz"
    firstName = firstName.stringByReplacingOccurrencesOfString("i", withString: "udu")
  • Hallo,

    das sind als solches alles elementare Funktionalitäten und in der Umsetzung nicht sehr schwierig.
    Viel mehr ist das Fleißarbeit.

    - Knopf löst eine Aktion im WindowController aus
    - das zeigt ein Sheet
    - das Sheet kannst Du vorgefertigt von Apple bekommen, via XIB laden, oder via Code aufbauen
    - die Werte liest Du aus den Textfeldern
    - die Werte schreibst Du in Deinem DataController weg
    - Tabelle aktualisieren

    Solche Abläufe werden in jedem Buch anhand Beispielen verdeutlicht.

    Viele Grüße
  • aha... so genau wollt' ich's gar nicht wissen. Warum schreibst Du nicht einfach nix? Das hätte ne stärkere Aussagekraft gehabt.
    Die Sprache ist die Wurzel des Missverständnisses.

    var firstName = "Fischers Fritz fischt frische Fische, frische Fische fischt Fischers Fritz"
    firstName = firstName.stringByReplacingOccurrencesOfString("i", withString: "udu")
  • Zusätzlich zu den von Dur genannten "Informationen": Ja, wenn Du Glück hast, erhältst Du diese über Standard-Frameworks (z. B. die Position), hier lohnt es, in der Apple Doku zu forschen, WWDC-Sessions zu durchsuchen und eben zu fragen. Alle Frameworks kann man m. E. kaum kennen, aber vieles erschließt sich aus deren Namen.

    Für andere Infos wirst Du Dir selber etwas ausdenken müssen oder hoffen, dass es schon jemand anderes getan hat. Woher z. B. soll Dein Mac (ohne fremde Hilfe) die IP kennen, mit der er über einen (NATenden) Router ins Netz geht.

    Bekomme ich nun auch so eine komische Reaktion...?

    Mattes
    Diese Seite bleibt aus technischen Gründen unbedruckt.
  • Endlich jemand der mich ansatzweise zu verstehen versucht ;) Danke Mattes, genau darum geht es... man hat eine Idee, eben wie oben z.B. Wie plant man die Entwicklung der Software und vor allem wie kriegt man eine Übersicht über die Frameworks; eine Liste sozusagen, vielleicht sogar mit Bildern der jeweiligen Elemente? Gibt es sowas? Zuviel verlangt? Ein Nachschlagewerk mit den GUI Elementen? Wie machen das andere Entwickler? Irgendwo müssen doch all die Möglichkeiten einsehbar sein. Ein Referenzbuch für AppKit oder für Cocoa? Wie gesagt, ich bin halt ein Anfänger, obwohl bei meinem Avatar Fortgeschritten steht und versuche einem System auf die Spur zu kommen das scheinbar kein System hat ;)
    Die Sprache ist die Wurzel des Missverständnisses.

    var firstName = "Fischers Fritz fischt frische Fische, frische Fische fischt Fischers Fritz"
    firstName = firstName.stringByReplacingOccurrencesOfString("i", withString: "udu")
  • ioscampus schrieb:

    sehr guten und umfangreichen Apple Dokumentation
    Mindestens eins davon ist gelogen.
    Die Apple-Doku ist seit einiger Zeit unter aller Sau ;)

    Ich tue mich auch äußerst schwer damit, neue GUI-Elemente zu finden. Nur durch ausprobieren kommt man leider nicht weit.
    Einiges konnte mir aus den WWDC-Videos abgucken oder beim Stöbern in anders Leuten ihrem Code (jaja nicht falsch verstehen :P)
  • Es wird immer wieder gesagt: "Nimm ein Buch!" Es gibt tausende von Büchern! Könnt Ihr keines empfehlen? Ich lese ja gern Bücher und seit Swift interessiert mich auch das Programmieren wieder. Betrachtet man den IB in Xcode hat es da geschätzte 20'000 Knöpfe im Inspektor. Gibts da kein ausführliches Buch darüber?
    Die Sprache ist die Wurzel des Missverständnisses.

    var firstName = "Fischers Fritz fischt frische Fische, frische Fische fischt Fischers Fritz"
    firstName = firstName.stringByReplacingOccurrencesOfString("i", withString: "udu")
  • Grandioser Threadtitel. Sorry, bei so einem allgemeinen Titel gibt's eine schwafelige Antwort.

    Wie findet man, was man sucht? Beim Programmieren genau so wie im echten Leben: Indem man gründlich und systematisch sucht, Hinweisen folgt und nicht aufhört zu suchen, bis man es gefunden hat.

    Im Ernst: Ich glaube, dass effizientes Suchen mittlerweile eine der schwierigsten und wichtigsten Kernkompetenzen beim Programmieren ist. Ich verbringe einen erheblichen Anteil meiner Zeit damit, diverse Quellen zu durchforsten und auf dem Weg schnell quer zu lesen, die Verlässlichkeit von Quellen einzuschätzen und an lohnenswerten Stellen tiefer einzusteigen. Dabei eigne ich mir auf dem Weg die notwendigen Konzepte und Begriffe an - meistens im Pingpong zwischen konkreten Technologien und abstrakten Konzepten. Den geheimen schnellen Weg gibt es dabei genau so wenig wie das geheime Orakel, das die Antworten auf alle Fragen kennt.

    Bücher sind bei meinen Quellen übrigens nur noch selten dabei. Es gibt gute (siehe Neuankömmlinge-Thread), aber die Referenz ist nunmal mittlerweile digital und meistens online. Und die Wahrscheinlichkeit, dass man eine Quelle findet, die einem genau das Gewünschte in genau dem Umfang und genau dem Kontext erklärt, tendiert stark gegen null. Das hat m.E. etwas mit dem Wesen des Programmierens zu tun - meistens macht man halt etwas Neues, Existierendes muss ja nicht noch einmal programmiert werden.

    Zu den 20000 Knöpfen im IB: Ich glaube nicht, dass hier jemand alle kennt. Ich kenne nur einen Bruchteil davon. Ich lerne sie kennen, wenn ich sie brauche. Und die dazugehörigen Konzepte gleich dazu. Dabei helfen wahrscheinlich einige angeeignete Kniffe für die Suche, aber in erster Linie viel Geduld und eine hohe Frustrationstoleranz. Kleiner Trost: Das machen hier alle so.

    Einer meiner Lieblingstexte dazu: Phillip G. Armour: The Five Orders of Ignorance.
    Multigrad - 360°-Produktfotografie für den Mac
  • Also, um nochmals etwas konkreter zu werden. Mein Programm (ShoppingList) soll eine Liste erstellen können, diese als File im ApplicationSupport/ShopFolder/ speichern und beim nächsten Start dieses File wieder einlesen.
    Könnt Ihr mir ein Buch empfehlen in dem ich das mit Swift lernen kann? Ich habe jetzt einige Bücher über Swift gelesen, ein Haufen über Variablen, Strings, Klassen, Tupels, Conditions, Arrays, Optionals, Methoden, Funktionen und Enumeration erfahren aber wie ich ein simples File sichere oder ein Fenster für Eingaben aufrufe oder einen Inhalt über "Sichern unter..." auf die Festplatte schreibe ist immernoch ein grosses Geheimnis für mich.

    Nun, ich bin sicher Ihr könntet mir sagen: kein Problem, mach das und das dann diese Klasse aufrufen mit jener Methode und so weiter und das File steht dort wo es hin soll. Das ist grossartig und ich bewundere jeden der das kann aber es ist nicht wirklich was ich wissen will. Ich möchte herausfinden wie ich suchen muss um solche und ähnliche Probleme lösen zu können. Um wieder beim Titel des Beitrags zu landen: Wie finde ich was ich suche?
    Die Sprache ist die Wurzel des Missverständnisses.

    var firstName = "Fischers Fritz fischt frische Fische, frische Fische fischt Fischers Fritz"
    firstName = firstName.stringByReplacingOccurrencesOfString("i", withString: "udu")
  • bfy.tw/1anM

    dann findest du antworten, du guckst dir die Antworten an schaust dir an wie das da gelöst ist, meinetwegen kannst du es dann einfach kopieren und bei dir einfügen und guckst ob es funktionierst
    und dann kannst du dir angucken welche Sachen im Code benutzt werden und suchst nach den Sachen in der Apple Doku

    wenn du eine Liste erstellen willst, kommst du mit dem Wort Liste in der Doku wahrscheinlich nicht weit
    dann suchst du halt nach swift create List, dann wirst du wahrscheinlich auf die UITableView stoßen (oder ähnliches für OS X) dann kannst du falls nötig in die Apple Doku nach TableView schauen, fürs nächste mal weißt du dann wie man eine Liste machst

    ich versteh dein Problem nicht
    Ich weiß nicht immer wovon ich rede aber ich weiß das ich Recht habe. :saint:
  • Die grundlegende Frage kann ich durchaus verstehen. Denn bei genau dem Problem stand ich vor einem Jahrzehnt auch.
    Allerdings weiß ich nicht genau, wie ich sie beantworten kann, denn mittlerweile weiß ich genau, wonach ich suchen muss.

    Genau das dürfte der Punkt sein: Mittlerweile weiß ich, wonach ich suchen musste und früher wusste ich es nicht.

    Woher ich das mittlerweile weiß? Erfahrung…

    Der Ansatz 'Ich habe keinerlei Ahnung vom System, aber ein Problem X, das ich gern lösen möchte' führt leider nicht allzu weit.

    Der erste Schritt ist das Sammeln von Erfahrungswerten.
    Du möchtest für das iPhone entwickeln? Prima, dann mach Dich mal mit dem System ein bisschen vertraut.
    Start Developing iOS Apps Today Guide
    Du möchtest eine Einkaufsliste erstellen? Schön, dann mach Dich mal mit den UI Elementen und Richtlinien vertraut.
    Human Interface Guidelines
    Deine Einkaufsliste soll ihre Daten einfach so im Dateisystem ablegen und Du hast ein Array als Objekt zur Darstellung in Deiner Tabelle? Easy Peasy.
    Collection Programming Topics

    Generell ist die jeweilige zum OS gehörende Developer Library immer ein guter Anlaufpunkt.
    Eintippen was man möchte (Beispielsweise 'Blocks') und je nach Komplexitätsgrad durchlesen. (Getting Started [Simpel], Guides [Mittel], Reference [Speziell])

    Die Hauptschwierigkeit ist halt nur, sich zu merken, was man schon alles wusste. ;)
    «Applejack» "Don't you use your fancy mathematics to muddle the issue!"

    Iä-86! Iä-64! Awavauatsh fthagn!

    kmr schrieb:

    Ach, Du bist auch so ein leichtgläubiger Zeitgenosse, der alles glaubt, was irgendwelche Typen vor sich hin brabbeln. :-P