Commits

Ivan Vučica committed 91d5845

Diagnostics and preferences.

  • Participants
  • Parent commits f324e7d

Comments (0)

Files changed (1)

File doc/seminar.tex

 vrši se u metodu \texttt{refreshDiagnostics} koja se poziva, između ostalog,
 pri reparsiranju prijevodne jedinice.
 
+Činjenica da se sve obavlja preko \textit{bindinga} znači da je dovoljno
+obnoviti sadržaj varijable \texttt{content}. \texttt{NSArrayController} će
+obavijestiti elemente korisničkog sučelja koji je novi sadržaj, te će
+se sučelje automatski obnoviti.
+
+\section{Postavke}
+Aplikacija omogućava postavljenje različitih opcija prevoditelja za različite
+jezike, a koje se koriste prilikom parsiranja programa. Prozor s postavkama
+otvara se koristeći opciju \textit{Preferences} koja se nalazi na standardnom
+mjestu, pod izbornikom s nazivom aplikacije. Također, opcija je povezana
+na standardnu tipkovničku kraticu za postavke, Command+zarez.
+
+Za spremanje postavki, pod OS X i iOS je većinom posve dovoljno koristiti
+\textit{key-value storage} kojeg nudi singleton objekt klase
+\texttt{NSUserDefaults}. Koristeći \textit{key-value coding} metode
+\texttt{setValue:forKeyPath:} i \texttt{valueForKeyPath:} moguće je pospremiti
+bilo koju vrijednost koja se može reprezentirati s \texttt{NSData}, 
+\texttt{NSString}, \texttt{NSNumber}, \texttt{NSArray}, \texttt{NSDictionary},
+\texttt{NSDate} i još pokojom sličnom klasom.
+
+Nakon postavljanja vrijednosti u singleton objekt, dovoljno mu je poslati
+poruku \texttt{[[NSUserDefaults standardUserDefaults] synchronize]} kako
+bi se osiguralo spremanje na disk.
+
+Alternativa je korištenje \textit{bindinga} i objekta klase 
+\texttt{NSUserDefaultsController}. To je učinjeno u implementaciji
+postavki; vrijednosti se automatski učitavaju u \texttt{NSTextView} i
+čitaju iz njih, te se time postiže sinkronizacija između onoga što vidi
+korisnik, onoga što je spremljeno na disku i onoga što čita aplikacija.
+
 %%%%%%%%%%%
 % Zaključak
 \chapter{Zaključak}