Werken met CorePlot projectinstellingen

Bij het werken met gegevensintensieve toepassingen moet een ontwikkelaar vaak meer doen dan alleen lijsten met gegevensrecords weergeven in een tabelweergave. Met de CorePlot-bibliotheek kunt u verbluffende gegevensvisualisaties toevoegen aan uw toepassingen. Ontdek hoe in deze Tuts + Premium-serie!

Datavisualisatie is van cruciaal belang om de gebruiker inzicht te geven in gegevens en om belangrijke beslissingen te nemen. CorePlot is een externe bibliotheek waarmee u een reeks interactieve grafieken in uw toepassing kunt weergeven. Dit omvat lijngrafieken, scatterplotgrafieken, staafdiagrammen en zelfs cirkeldiagrammen. U kunt het uiterlijk van de grafieken aanpassen en zelfs de gebruiker toestaan ​​ermee te werken.


Ook verkrijgbaar in deze serie:

  1. Werken met CorePlot: projectinstellingen
  2. Werken met CorePlot: Plot Fundamentals
  3. Werken met CorePlot: stylen en percelen toevoegen
  4. Werken met CorePlot: een staafdiagram maken
  5. Werken met CorePlot: een cirkeldiagram maken

Wat we zullen behandelen

In de volgende 5 tutorials zullen we een applicatie maken die gegevens over studenteninschrijving in een universiteit in kaart brengt. Concreet gaan we het hebben over:

  • Hoe CorePlot aan een applicatie toe te voegen.
  • De basisprincipes van CorePlot en hoe je een grafiek kunt laten werken.
  • Een lijngrafiek maken.
  • Grafieken tekenen.
  • Een staafdiagram maken.
  • Abstractie van grafische datalogica.
  • Een cirkeldiagram maken.

Vereiste kennis

Je moet een goed begrip hebben van de ontwikkeling van iOS en het ontwikkelingspatroon van de delegatie. Een goed begrip van CoreData is nuttig, maar niet verplicht. Een groot deel van de CoreData-functionaliteit is al geïmplementeerd en u wordt door alle verdere oproepen naar de datastore geleid.


De voorbeeldtoepassing

In de broncode vindt u de basistoepassing die we in de toekomst zullen gebruiken. Het is een basiswerkbalktoepassing die kerngegevens gebruikt om informatie over studenten en het onderwerp op te slaan en deze in afzonderlijke tabelweergaven op te nemen. U kunt een student of onderwerp toevoegen door op de knop "+" in de rechterbovenhoek te drukken.

De onderwerpklasse heeft de volgende kenmerken:

  • Onderwerp ID: Unieke ID, automatisch gegenereerd.
  • Onderwerp: Onderwerpsnaam, beschrijft waar het onderwerp over gaat.

De studentenklasse heeft de volgende kenmerken:

  • Student-ID:Unieke ID, automatisch gegenereerd.
  • Studenten naam: De voor- en achternaam van de student.
  • Onderwerp ID: Het onderwerp-ID waarin ze zijn ingeschreven. Voor de eenvoud gaan we ervan uit dat een student zich slechts in één onderwerp kan inschrijven.
  • Ingeschreven dag: We gaan ervan uit dat de inschrijving een periode van 7 dagen duurt. De ingeschreven dag is de dag dat de student in die periode is binnengekomen om zich in te schrijven.

Open het project en zorg ervoor dat het wordt uitgevoerd. Voor deze serie gebruik ik geen automatische referentietelling, dus we moeten ons eigen geheugen beheren. U zou de applicatie moeten starten met een "Studenten" en "Onderwerpen" tabblad. Elk tabblad moet een tabel bevatten met daarin een aantal vooraf ingevulde gegevens. Zodra je hebt bevestigd dat dit allemaal werkt, kunnen we doorgaan met het toevoegen van CorePlot aan onze applicatie.



CorePlot importeren

De eerste stap is om de nieuwste versie van CorePlot te downloaden. Op het moment van schrijven is dat v1.0. Ga naar de hoofdpagina van de plot en ga naar de sectie downloads.


Download het zipbestand. De bibliotheek is ongeveer 140 mb, dus het kan een tijdje duren als je een trage verbinding hebt.

We gaan de CorePlot Library-bestanden in onze applicatie plaatsen. Het is een goede gewoonte om derde partijen op te slaan in een map die los staat van de andere klassebestanden. Maak een nieuwe map in de "StudentTracker" -bronmap met de naam "Externe bibliotheken".

U kunt CorePlot opnemen als een afhankelijke projectinstallatie of een statische bibliotheek. Ik vind het leuk om het op te nemen als een afhankelijke projectinstallatie, omdat het ons toestaat om toegang te krijgen tot de broncode en te zien hoe dingen werken als een aparte vorm, alleen het zien van de header-bestanden.

  1. Kopieer de map "CorePlot" naar de zojuist gemaakte map "Externe bibliotheken" in de map van de StudentTracker-bron.

  2. Maak een groep in XCode met dezelfde naam ("Externe bibliotheken")

  3. Zoek in finder het projectbestand "CocoaTouch.xcodeproj" ("CorePlot_1.0 / Source / frameworkCocoaTouch.xcodeproj") en sleep het naar de groep "Externe bibliotheken" in Xcode.

  4. Selecteer uw applicatieprojectbestand in xcode en klik op het tabblad "Fasen opbouwen". Vanaf daar moet u de CorePlot-CocoaTouch-bibliotheek toevoegen in de groep "Target afhankelijkheden".
  5. U moet ook het binary koppelen aan de CorePlot-bibliotheek. Vouw de groep "Link Binary with Libraries" uit en voeg de "libCorePlot-CocoaTouch.a" toe

  6. Je moet ook een aantal instellingen toevoegen op het tabblad Build-instellingen. Stel het header-zoekpad in op de framedirectory in de CorePlot-brondirectory (moet "$ PROJECT_DIR / StudentTracker / External libraries / CorePlot_1.0 / Source / framework /") zijn. Vink het vakje rechts van de tekst aan (om recursief aan te duiden). U moet ook "Altijd gebruikerspaden zoeken" wijzigen in "Ja".

  7. Voeg vervolgens "-ObjC" toe aan het veld "Andere linkervlaggen".
  8. CorePlot vertrouwt op het QuartzCore-framework, dus ga je gang en voeg je dat toe als een verplicht raamwerk.
  9. Ten slotte moet u het bestand "CorePlot-cocoaTouch.h" importeren in alle bestanden die dit nodig hebben. We hebben het nog niet nodig, maar probeer het gewoon toe te voegen aan het gedelegeerde bestand van de toepassing om ervoor te zorgen dat alles correct compileert.

Als het project met succes compileert, is alles goed om te doen!


Veel voorkomende problemen

 CPTAnnotation.h bestand niet gevonden

Dit betekent dat de zoekmap van het headerpad niet correct is gelokaliseerd. Zorg ervoor dat u de "Header Search Paths" gebruikt en niet "Framework Search Paths". Het is belangrijk om ervoor te zorgen dat het selectievakje is aangevinkt en "Altijd gebruikerspaden zoeken" is ingesteld op "Ja".

 Niet-gedefinieerde symbolen voor architectuur i386: "_CATransform3DIsIdentity", waarnaar wordt verwezen vanaf: ... 

Deze eng uitziende fouten bestaan ​​omdat het QuartzCore Framework niet is opgenomen. Het enige dat u hoeft te doen is het QuartzCore Framework (in de groep "Link Binary With Libraries") opnemen en deze fouten zullen verdwijnen!


Afronden

We hebben een goede introductie gekregen van wat CorePlot kan doen en hoe het aan een bestaand project kan worden toegevoegd. De volgende keer gaan we onze handen vies maken en beginnen we een lijngrafiek te maken om te laten zien hoeveel studenten zich op elke inschrijvingsdag hebben ingeschreven. Vang je de volgende keer!