Tables vs. plist

Tables vs. plist discussie in Ontwikkelen voor iOS forum; ( verdwijnt na registratie ) Hallo iedereen, even een korte intro Een maat van mij heeft me wat leren programmeren in xcode. Dit gaat vrij goed, simpele dingen kan ik ...



Ga terug   iPhone, iPod touch, iPad en Apple TV forum > Development > Ontwikkelen voor iOS
Wachtwoord vergeten? Registreren!
Registreer FAQ Ledenlijst Kalender Zoeken Berichten van vandaag Markeer forums als gelezen
  #1  
Oud 15 July 2009, 22:13
» iPhone 3G 8GB [FW: 3.0]  [Jailbreak: Ja]
» Mac OS X
 
Geregistreerd: 5 March 2008
Locatie: Vlaanderen
Berichten: 11
Standaard Tables vs. plist

Hallo iedereen,

even een korte intro
Een maat van mij heeft me wat leren programmeren in xcode. Dit gaat vrij goed, simpele dingen kan ik al. Nu, m'n maat is vertrokken op vakantie voor anderhalve maand, en dus zit ik hier vast, ik probeer overal van internet tutorials te proberen welke ook goed gaan, maar nu had ik een idee. (Hieronder moet gewoon het concept duidelijk zijn, maar ik dacht ik ga er een leuk voorbeeld van maken zodat het gemakkelijker te begrijpen is )

Een navigationbased app. In de root view zie je een lijst met films (indexed table). Tap je op een film, dan ga je naar de first view, en daar komt dan een indexed table, met index opzij, waar alle acteurs opgesomd staan die in de film voorkomen. Tap je dan op een acteur dan ga je naar second view, en daar krijg je dan een grouped table waar bij elke row iets links staat vb "naam, voornaam, geboortedatum,etc.."(denk aan de contacten-app).

Dit is gewoon eens om te zien hoe te werken met tables, want is ontzettend belangrijk voor de iPhone.

Maar mijn vraagjes(!) waren nu de volgende:

Is het mogelijk om voor dit bestand een plist te gebruiken, want de lijst met de acteurs alleen al kan wel bijhoorlijk lang worden dan.
plist zou er vb zo uitzien:

-film 1
--Acteur 1
---Naam
---Voornaam
---Geb.datum
[...]
--acteur 2
---Naam
[...]
-film 2
[...]

En hoe populate je nu eigenlijk een table met gegevens uit een plist? Ik vind geen enkel deftige tutorial op internet . Ik heb al voorbeeldcode gevonden (oa van Apple zelf), maar dat vind ik nog net iets te moeilijk om te ontleden..

Moeten hier nib's voor gebruikt worden of niet? Ik werk er wel graag mee, en volgens mij kan het wel, of is het niet aan te raden?

Ik weet dat ik voor velen hier onder jullie die al verschillende apps in de app store hebben als een newb overkom. Wel je hebt gelijk Ik ben sinds 2 weken bezig, omdat het vakantie is. Ik heb tot hoofdstuk 5 het e-book "Beginning With iPhone Development" gevolgd. De reden waarom ik gestopt ben is omdat je de code niet kan kopiren. In het begin moet je drie regels code ofzo toevoegen, en dan valt het nog mee om altijd te wisselen van het ene venster naar het andere, maar naargelang ik vorderde in het boek werden het alsmaar meer regels code, en dan was het niet meer te doen.

Dus, erg bedankt diegenen die me willen helpen, echt ik apprecieer het enorm dat je hier even de tijd voor wilt nemen.

Jelle
Advertentie
Advertentie Gesponsorde links (verdwijnt na registratie)

  #2  
Oud 16 July 2009, 16:50
» iPhone 3GS 32GB (Zwart) [FW: 5.0 Beta]  [Jailbreak: Nee]
» iPad 1 Wi-Fi 16GB [FW: 5.0 Beta]  [Jailbreak: Nee]
» Mac OS X
 
Geregistreerd: 21 August 2008
Locatie: Antwerpen
Berichten: 89
Standaard

Als je toch tijd hebt, kijk eens naar de cursus iPhone Development van Stanford university. Geeft een goed overzicht en alle code is te downloaden.
  #3  
Oud 16 July 2009, 17:07
» iPhone 3GS 32GB (Zwart) [FW: 5.0 Beta]  [Jailbreak: Nee]
» iPad 1 Wi-Fi 16GB [FW: 5.0 Beta]  [Jailbreak: Nee]
» Mac OS X
 
Geregistreerd: 21 August 2008
Locatie: Antwerpen
Berichten: 89
Standaard

Citaat:
Oorspronkelijk geplaatst door JVdV Bekijk bericht
Hallo iedereen,
plist zou er vb zo uitzien:

-film 1
--Acteur 1
---Naam
---Voornaam
---Geb.datum
[...]
--acteur 2
---Naam
[...]
-film 2
[...]

En hoe populate je nu eigenlijk een table met gegevens uit een plist? Ik vind geen enkel deftige tutorial op internet . Ik heb al voorbeeldcode gevonden (oa van Apple zelf), maar dat vind ik nog net iets te moeilijk om te ontleden..
Jelle
De plist is dus een array van films, elke film een dictionary met voor de key "acteurs" een array van acteurs, elke acteur een dictionary met keys "naam", "voornaam" en "geboortedatum" hoop ik?

Inlezen van de plist in viewDidLoad van ViewController1
Code:
NSArray *films = [NSArray arrayWithContentsOfFile:@"films.plist"];
Table van films populeren in functie cellForRowAtIndexPath van ViewController1
Code:
NSDictionary *film = [films objectAtIndex:indexPath.row];
cell.textLabel.text = [film objectForKey:@"naam"];
Bij didSelectRowAtIndexPath van ViewController1 laad je ViewController2
Code:
ViewController2 vc = [[ViewController2 alloc] initWithNob:@"View2" withBundle:nil];
NSDictionary *film = [films objectAtIndexPath:indexPath.row];
vc.acteurs = [film objectForKey@"acteurs"]; // acteurs is een propery en ivar in ViewController2
[self.navigationController pushViewController:vc];
[vc release];
Table van acteurs populeren in cellForRowAtIndexPath van ViewController2
Code:
NSDicttionary *acteur = [[acteurs objectAtIndexPath:indexPath.row];
cell.textLabel.text = [acteur objectForKey:@"naam"];
(alles onder voorbehoud van syntaxfouten, ik heb hier geen xcode ter beschikking)
  #4  
Oud 17 July 2009, 02:13
danielpunt's schermafbeelding
» iPhone 3G 16GB (Wit) [FW: 4.1]  [Jailbreak: Nee]
» Mac OS X
 
Geregistreerd: 19 December 2007
Locatie: Vlaardingen
Berichten: 87
Standaard

ik zou een plist niet gebruiken als database. het is een XML en kan dus alleen maar in 1 keer geladen worden, wat dus veel geheugen kost en ook niet erg snel is.

je kunt beter een SQLite database of CoreData gebruiken, dan kun je ook een database manager gebruiken in plaats van de XML handmatig bewerken.

een plist zou ik alleen maar bewaren voor wat statische informatie zoals inloginformatie (wel encoded natuurlijk) en voorkeuren.
  #5  
Oud 19 July 2009, 16:15
» iPhone 3G 8GB [FW: 3.0]  [Jailbreak: Ja]
» Mac OS X
 
Geregistreerd: 5 March 2008
Locatie: Vlaanderen
Berichten: 11
Standaard

dankje allebei al, denk dat ik toch maar voor de XML ga gaan dan, ik denk dat apple daar een tutorial of code voor heeft, als ik me niet vergis.

Jelle
  #6  
Oud 20 July 2009, 08:26
danielpunt's schermafbeelding
» iPhone 3G 16GB (Wit) [FW: 4.1]  [Jailbreak: Nee]
» Mac OS X
 
Geregistreerd: 19 December 2007
Locatie: Vlaardingen
Berichten: 87
Standaard

Apple heeft ook voorbeelden van CoreData en SQLite, en er zijn ook wel tutorials van te vinden.
  #7  
Oud 22 July 2009, 15:44
» iPhone 3G 8GB [FW: 3.0]  [Jailbreak: Ja]
» Mac OS X
 
Geregistreerd: 5 March 2008
Locatie: Vlaanderen
Berichten: 11
Standaard

Citaat:
Oorspronkelijk geplaatst door danielpunt Bekijk bericht
Apple heeft ook voorbeelden van CoreData en SQLite, en er zijn ook wel tutorials van te vinden.
SQLite ftw! Net tegen gekomen in de tutorials die te vinden zijn in de itunes Store, nu nog dat programma vinden om gemakkelijk (visueel) die databases aan te passen...
  #8  
Oud 22 July 2009, 21:45
danielpunt's schermafbeelding
» iPhone 3G 16GB (Wit) [FW: 4.1]  [Jailbreak: Nee]
» Mac OS X
 
Geregistreerd: 19 December 2007
Locatie: Vlaardingen
Berichten: 87
Standaard

Ik gebruik de FireFox plugin SQLite Manager daar kun je ook lokale databases mee bewerken.

Overigens heb ik deze week voor het eerst Core Data echt gebruikt en het is aan het begin toch wel wat lastig, maar als je het door hebt best wel prettig werken.
Reageren


Er zijn 1 actieve gebruikers die momenteel deze discussie bekijken (0 leden en 1 gasten)

 
Discussietools
Weergave

Soortgelijke discussies

Discussie Auteur Forum Reacties Laatste bericht
plist vraag Alwinkov Ontwikkelen voor iOS 3 2 May 2011 14:39
Plaatjes in grouped tables en Rounded Rect Buttons (met ronde hoeken dus)) wubbe Ontwikkelen voor iOS 1 10 March 2010 15:09
.plist trillen 3.0 thomas89 iPhone algemeen 2 25 November 2009 11:10
gezocht nl.plist & en.plist Semmm Jailbreak apps en thema's 3 9 April 2009 15:41
Windows: .Plist daanhegman Desktop-applicaties 3 1 April 2008 21:15

Regels voor berichten
Je mag geen nieuwe discussies starten
Je mag niet reageren op berichten
Je mag geen bijlagen versturen
Je mag niet je berichten bewerken

BB code is Aan
Smileys zijn Aan
[IMG]-code is Aan
HTML-code is Uit
Trackbacks are Aan
Pingbacks are Aan
Refbacks are Uit



Alle tijden zijn GMT +2. Het is nu 01:51.