Arbeiten mit CorePlot Projekteinrichtung

Wenn Sie mit datenintensiven Anwendungen arbeiten, muss ein Entwickler oft mehr als nur Listen von Datensätzen in einer Tabellensicht anzeigen. Mit der CorePlot-Bibliothek können Sie Ihren Anwendungen beeindruckende Datenvisualisierungen hinzufügen. In dieser Tuts + Premium-Serie erfahren Sie, wie es geht!

Die Datenvisualisierung ist entscheidend, um dem Benutzer zu helfen, Daten zu verstehen und wichtige Entscheidungen zu treffen. CorePlot ist eine Bibliothek von Drittanbietern, mit der Sie eine Reihe interaktiver Grafiken in Ihrer Anwendung anzeigen können. Dazu gehören Liniendiagramme, Streudiagramme, Balkendiagramme und sogar Kreisdiagramme. Sie können das Aussehen der Diagramme anpassen und dem Benutzer sogar erlauben, mit ihnen zu interagieren.


Auch in dieser Serie erhältlich:

  1. Arbeiten mit CorePlot: Projekteinrichtung
  2. Arbeiten mit CorePlot: Plot-Grundlagen
  3. Arbeiten mit CorePlot: Gestaltung und Hinzufügen von Plots
  4. Arbeiten mit CorePlot: Erstellen eines Balkendiagramms
  5. Mit CorePlot arbeiten: Kreisdiagramm erstellen

Was wir abdecken werden

In den nächsten fünf Tutorials erstellen wir eine Anwendung, die Daten über die Immatrikulation von Studenten an einer Universität grafisch darstellt. Im Einzelnen behandeln wir:

  • So fügen Sie CorePlot zu einer Anwendung hinzu.
  • Die Grundlagen von CorePlot und wie man eine Grafik zum Laufen bringt.
  • Liniendiagramm erstellen.
  • Diagramme gestalten.
  • Erstellen eines Balkendiagramms.
  • Zusammenfassung der Graphik-Datenlogik.
  • Kreisdiagramm erstellen.

Erforderliches Wissen

Sie müssen über ein mittleres Verständnis der iOS-Entwicklung und des Delegierungsmusters der Entwicklung verfügen. Ein Verständnis von CoreData ist hilfreich, aber nicht erforderlich. Ein Großteil der CoreData-Funktionalität wurde bereits implementiert und Sie werden durch alle weiteren Aufrufe zum Datenspeicher geführt.


Die Beispielanwendung

Im Quellcode finden Sie die Basisanwendung, die wir zukünftig verwenden werden. Hierbei handelt es sich um eine grundlegende Registerkartenleistenanwendung, die mithilfe von Kerndaten Schüler- und Betreffinformationen speichert und in separaten Tabellensichten auflistet. Sie können einen Schüler oder ein Thema hinzufügen, indem Sie die Taste "+" in der oberen rechten Ecke drücken.

Die Betreffklasse hat die folgenden Attribute:

  • Betreff-ID: Eindeutige Kennung, automatisch generiert.
  • Subjekt Name: Betreffname, beschreibt, worum es sich bei dem Betreff handelt.

Die Studentenklasse hat die folgenden Attribute:

  • Studenten ID:Eindeutige Kennung, automatisch generiert.
  • Name des Studenten: Der Vor- und Nachname des Schülers.
  • Betreff-ID: Die Fach-ID, in der sie eingeschrieben sind. Der Einfachheit halber gehen wir davon aus, dass sich ein Schüler nur für ein Fach anmelden kann.
  • Eingeschriebener Tag: Wir gehen davon aus, dass sich die Einschreibung über einen Zeitraum von 7 Tagen erstreckt. Der eingeschriebene Tag ist der Tag, an dem der Student während dieser Zeit gekommen ist, um sich einzuschreiben.

Öffnen Sie das Projekt und stellen Sie sicher, dass es ausgeführt wird. Für diese Serie verwende ich keine automatische Referenzzählung, daher müssen wir unseren eigenen Speicher verwalten. Sie sollten sehen, dass die Anwendung mit einer Registerkarte "Studenten" und "Fächer" angezeigt wird. Jede Registerkarte sollte eine tableView mit einigen vorgefüllten Daten enthalten. Sobald Sie bestätigt haben, dass alles funktioniert, können Sie CorePlot in unsere Anwendung aufnehmen.



CorePlot importieren

Der erste Schritt ist das Herunterladen der neuesten Version von CorePlot. Zum Zeitpunkt des Schreibens ist dies v1.0. Besuchen Sie die Startseite der Kernzeichnung und navigieren Sie zum Download-Bereich.


Laden Sie die ZIP-Datei herunter. Die Bibliothek ist ca. 140 MB groß, daher kann es eine Weile dauern, wenn Sie eine langsame Verbindung haben.

Wir werden die CorePlot Library-Dateien in unsere Anwendung einfügen. Es wird empfohlen, Dritte in einem Ordner getrennt von den anderen Klassendateien zu speichern. Erstellen Sie im Quellordner "StudentTracker" einen neuen Ordner mit dem Namen "External Libraries"..

Sie können CorePlot als abhängige Projektinstallation oder als statische Bibliothek einschließen. Ich füge es gerne als abhängige Projektinstallation hinzu, da es uns ermöglicht, auf den Quellcode zuzugreifen und zu sehen, wie die Dinge als unterschiedliches Formular funktionieren, wenn nur die Header-Dateien angezeigt werden.

  1. Kopieren Sie das Verzeichnis "CorePlot" in den neu erstellten Ordner "External Libraries" innerhalb des Quellverzeichnisses von StudentTracker.

  2. Erstellen Sie in XCode eine Gruppe namens "Externe Bibliotheken".

  3. Suchen Sie im Finder die Projektdatei "CocoaTouch.xcodeproj" ("CorePlot_1.0 / Source / frameworkCocoaTouch.xcodeproj") und ziehen Sie sie in Xcode in die Gruppe "External Libraries".

  4. Wählen Sie Ihre Anwendungsprojektdatei in xcode aus und klicken Sie auf die Registerkarte "Build Phases". Von dort müssen Sie die CorePlot-CocoaTouch Library in der Gruppe "Target Dependencies" hinzufügen.
  5. Sie müssen auch die Binärdatei mit der CorePlot-Bibliothek verknüpfen. Erweitern Sie die Gruppe "Link-Binär mit Bibliotheken" und fügen Sie "libCorePlot-CocoaTouch.a" hinzu.

  6. Sie müssen auch einige Einstellungen auf der Registerkarte "Build-Einstellungen" hinzufügen. Stellen Sie den Header-Suchpfad auf das Frameworkverzeichnis im CorePlot-Quellverzeichnis ein (sollte "$ PROJECT_DIR / StudentTracker / Externe Bibliotheken / CorePlot_1.0 / Source / framework /" sein). Aktivieren Sie das Kontrollkästchen rechts neben dem Text (um rekursiv zu kennzeichnen). Sie sollten auch "Immer Benutzerpfade suchen" in "Ja" ändern..

  7. Fügen Sie als nächstes "-ObjC" zum Feld "Other Linker Flags" hinzu.
  8. CorePlot basiert auf dem QuartzCore-Framework. Fügen Sie dieses als erforderliches Framework hinzu.
  9. Schließlich müssen Sie die Datei "CorePlot-cocoaTouch.h" in alle Dateien importieren, die dies erfordern. Wir brauchen es noch nicht, aber fügen Sie es einfach der Delegatendatei der Anwendung hinzu, um sicherzustellen, dass alles korrekt kompiliert wird.

Wenn das Projekt erfolgreich kompiliert wird, ist alles gut!


Allgemeine Probleme

 CPTAnnotation.h-Datei nicht gefunden

Dies bedeutet, dass der Ordnerpfad-Suchordner nicht richtig gefunden wurde. Stellen Sie sicher, dass Sie die "Header-Suchpfade" und nicht "Framework-Suchpfade" verwenden. Stellen Sie sicher, dass das Kontrollkästchen aktiviert ist und "Benutzerpfad immer suchen" auf "Ja" gesetzt ist..

 Undefinierte Symbole für die Architektur i386: "_CATransform3DIsIdentity", referenziert von:… 

Diese furchterregenden Fehler treten auf, weil das QuartzCore Framework nicht enthalten ist. Alles, was Sie tun müssen, ist das QuartzCore Framework (in der Gruppe "Link Binary With Libraries"), und diese Fehler werden beseitigt!


Einpacken

Wir haben eine gute Einführung in die Möglichkeiten von CorePlot erhalten und wie man es zu einem bestehenden Projekt hinzufügen kann. Beim nächsten Mal machen wir uns die Hände schmutzig und beginnen mit dem Erstellen eines Liniendiagramms, um zu zeigen, wie viele Schüler sich an jedem Einschreibungstag angemeldet haben. Fang dich das nächste Mal!