piektdiena, 2012. gada 2. marts

XCode nerāda LV burti dictionary izdrukā

Kā dažiem jau ir zināms, jau kopš februāra vidus nodarbojos ar XCode un iOS apgūšanu. Tā, protams, nav viegla nodarbe, tomēr - pats galvenais - virzās uz priekšu. Šajā sakarā esmu nolēmis apkopot vairākas atziņas, kas man būs radušās izstrādes laikā.

Pirmā no šādām atziņām jeb "Grābeklis-1" - grābeklis, uz kura nenovēlu nevienam uzkāpt:

Situācija sekojoša - ir MySQL serveris, no kura ar JSON tiek lasīti dati. Saņemtie dati tiek konvertēti uz NSDictionary. Problēma radās, ja dati saturēja kādu latviešu valodas burtu - tādā gadījumā tas tika nokonvertēts uz UTF-8 sešu simbolu kodējumu, kas pats par sevi nebūtu problēma. Tomēr problēma radās, kad uzskatīju, ka XCode nemāk šo kodējumu atkodēt. Pēc vairāk kā dienas cīnīšanās sapratu, ka patiesā problēma ir pavisam citur, nevis UTF-8 kodējumā - ja XCode konsoles debugošanas logā liek izvadīt NSString vērtību, kura satur LV simbolus, tad izvads ir korekts. Tomēr ja tos pašus LV simbolus satur NSDictionary, tad izvadot vārdnīcas vērtības konsolē LV burti tiek pazaudēti, attēlojot tikai to UTF-8 kodējumus.
Secinājums - rēķinieties, ka XCode debugger logs, izvadot string vērtības, LV simbolus var attēlot gan normāli (NSString gadījumā), gan tikai to UTF-8 kodējumu (NSDictionary gadījumā).

Nav komentāru: