Nayttaapi juuri silta etta toi for silmukka enumeroi nimenomaan noita dictionaryn key:ta eika arvoja, mika on sinallaan jarkevaa, kun noita avaimiahan nimenomaan tarvitaan. Mista heraa hyva kysymys etta miksi kaytat Dictionarya etka Array:ta kun arrayhan tuo nayttaisi olevan kaytonkin perusteella kaytannossa? Mutta NSDictionarysta loytyy esim. enumerateKeysAndObjectsUsingBlock -metodi, milla saa kasiteltya suoraan noita objektejakin.DJKyykkae kirjoitti:Juu, kyllä nuo lähdekoodit on suoraan copypastettu tuohon. Eihän tuo nyt jotenkin yritä lähettää tuota metodia sen Dictionaryn key-stringille sen itse Planet-objektin sijaan? Olenko ymmärtänyt tuon for (instance in dictionary) {} ihan väärin, eli eikö tuolla instancella kuulukaan viitata itse objektiin, vaan sen parina olevaan key-stringiin? Silloinhan planeetan metodeita pitäisi kutsuakin samaan tapaan kuin tuolla aiempana, eli hakemalla objekti dictionarystä tuolla objectForKey: -metodilla?Tuossa on jotain hämärää. Oliko tuo suora copyPaste koodista?
Kaatuminenhan näyttää johtuvan siitä, että lähetät String-objektille tuon growPlanetUnderConstruction-metodin?!?
Kiitoksia NSLog-vinkeistä, tsekkaan myös tuon dealloc-asian.
Kommentti edittiin: kiitos kovasti! Kokeilen tuota heti kun pääsen projektin ääreen.
Muoks: unohtui allValues -metodikin, eli sillakin saa esmes:
Koodi: Valitse kaikki
for (Planet *aPlanet in [[solarSystemView solarSystem] allValues]){
createdPlanets++;
[aPlanet growPlanetUnderConstruction]; //tässä app katkeaa, aPlanet ei tunnistakaan growPlanet… metodia täällä, miksi?
}