Kanin, tycker dina frågor är bra. Vi lär av varandra!
Kul att höra!
Passar väl på med en till fråga...
För att lära sig Helper Objects (Hjälpobjekt?) ska man bygga ett program som använder sig av NSSpeechSynthesizer för att få datorn att läsa upp en sträng man skrivit in. När man ska göra en lista, NSTableColumn, över alla tillgängliga röster det finns att tillgå använder boken sig av NSDictionary för att klippa bort allt förutom namnet i com.apple.speech.synthesis.voice.Fred, dvs Fred, med koden:
NSString *v = [voiceList objectAtIndex:row];
NSDictionary *dict = [NSSpeechSynthesizer attributesForVoice:v];
return [dict objectForKey:NSVoiceName];
Dock förklarar inte boken hur NSDictionary fungerar. Någon som är vänlig och går igenom vad som händer i koden ovan för mig?
EDIT: Lite annat jag kom att tänka på
Man kan säga att detta problem är en del av precis det memark tar upp i sin kritik av Obj-C: Det kräver att man verkligen förstår vad en pekare är, dvs. inget mer än en minnesadress.
Har jag rätt när jag säger att jag tänker mig att pekare fungerar på samma sätt som genvägar till filer och mappar i Finder? Dvs att den hänvisar till en plats, men man kan aldrig ändra själva genvägen mer än att få den att hänvisa till en annan plats. Något utöver det?
2) Ett objekt av klassen NSnumber kan hålla en int, float, double etc. Viktigt är att det till skillnad från en int t. ex. är ett objekt, inte en C-typ.
Tror inte jag riktigt har förstått skillnaden mellan C-typ och objekt, mer än att man aldrig hanterar objekt direkt utan via pekare. Varför gör man det egentligen?