1 2 3 > 
1 of 3
Početnička pitanja
Posted: 17 September 2010 08:04 PM
Sr. Member
Avatar
RankRankRankRank
Total Posts:  189
Joined  2009-12-15

Moj prvi post na Mac Srbija forumu :woohoo:. Da se upoznamo. Ja sam ivan90BG za Bench-a, znaju me Mario i RingeRaja (koliko znam); ne lično naravno. Preko ovih vaših malih oglasa sam nabavio moj prvi Mac - beli MacBook 4,1 B); tako da, hvala vam 😉 .

Dakle, moj problem. U pauzama u učenju za faks istražujem Mac OS X programiranje i po milketovoj preporuci čtam Cocoa Programming for Mac OS X Arona Hilegasa. Stigao sam do primera ‘lottery’ i došao do neobjašnjviog odbijanja Xcode-a (gcc, gdb…-a) da kompajlira jer tvrdi da ne postoji fajl koji deklariše klasu, a znam da postoji, čak je Xcode i završavao komande koje imaju veze sa tom klasom.

Jel propuštam nešto?

[img size=499][url=http://img210.imageshack.us/img210/8056/screenshot20100917at724.png]http://img210.imageshack.us/img210/8056/screenshot20100917at724.png[/img][/url]

Post edited by: ivan90bg, at: 2010/10/23 21:33

Profile
 
Posted: 17 September 2010 08:59 PM   [ # 1 ]
Sr. Member
Avatar
RankRankRankRank
Total Posts:  189
Joined  2009-12-15

Našao sam odgovor. Treba da stavljam navodnike umesto uglastih zagrada za fajlove koji se nalaze u folderu projektu. :S

Post edited by: ivan90bg, at: 2010/09/17 21:00

Profile
 
Posted: 17 September 2010 11:55 PM   [ # 2 ]
Sr. Member
Avatar
RankRankRankRank
Total Posts:  260
Joined  2007-09-07

ivan90bg wrote:

Našao sam odgovor. Treba da stavljam navodnike umesto uglastih zagrada za fajlove koji se nalaze u folderu projektu. :S<br><br>Post edited by: ivan90bg, at: 2010/09/17 21:00

Generalno pravilo za C, ObjC i C++
#include <fajl> - traži taj fajl u predefinisanim putanjama za tzv. include fajlove
#include ‘fajl’ - traći isključvo u direktorijumu u kome je fajl koji ga uključuje

Isto važi i za #import.

 Signature 

iMac 27-inch

Profile
 
Posted: 25 September 2010 12:39 PM   [ # 3 ]
Sr. Member
Avatar
RankRankRankRank
Total Posts:  7582
Joined  2005-04-28

ivan90bg wrote:

Stigao sam do upravljanja memorijom. Razumeo sam kako radi ?ubretar (dealocira objekte prema kome više niko ne drži vezu, stoga treba ubacivati neka_instanca=nil što briše referencu ka objektu u memoriji).

Ako se dobro sećam kada sam prelistavao onu knjigu što je sada kod MMX-a, ovo radi isto kao i drugim jezicima: briše referencu, to si u pravu, ali je objekat ostao da ‘ždere’ RAM bespotrebno. Neka me neko ko poznaje bolje ObjC ispravi, ali sam gotovo siguran da ovo što si naveo ne valja.

Čak i da postoji neki auto release na kraju programa ili već nekako rešen u ObjC-u, mislim da je dobra programerska praksa da sam eksplicitno čstiš memoriju za sobom.

 Signature 

ACSP 10.10 - ACSP 10.9 - ACA 10.8 Mac Management - ACSP 10.8 -  ACSP 10.7 - ACSA 10.6

Profile
 
Posted: 25 September 2010 01:15 PM   [ # 4 ]
Sr. Member
Avatar
RankRankRankRank
Total Posts:  1786
Joined  2005-05-08

ivan90bg wrote:

Razumeo sam kako radi ?ubretar

Nisam još stasao da mogu da dam pouzdan odogovor na pitanje, zato bih samo iskoristio priliku da dam drugu članu ivan90bg karmu, jer sam se pokidao od smeha kada sam pročtao prevod „?ubretar”. Genijalno!

Ako ima još neko da voli zezancije tog tipa, toplo preporučujem sr.openoffice.org.

Izvinjavam se na offtopicu.

 Signature 

10 HOME
20 SWEET
30 GO TO 10

Profile
 
Posted: 25 September 2010 01:27 PM   [ # 5 ]
Sr. Member
Avatar
RankRankRankRank
Total Posts:  189
Joined  2009-12-15

Pod ‘?ubretarom’ sam mislio na Garbage Collector. Pošto on briše objekte u memoriji koje više niko ne kontroliše samo treba ‘nulirati’ pointere.

A mislim da sam shvatio zašto ne treba ručno zadavati dealloc. Moguće je da još neki objekat drži pointer ka tom objektu (recimo da je zadat kao argument ili postavljen u promenljivu instance). Tako da treba samo ‘nulirati’ pointer, a Garbage Collector će ga dealocirati tek kada se svi pointeri ka njemu nuliraju.


‘fala za karmu. :woohoo: Trudim se da koristim što manje engleskih reč kad pišem postove. Recimo, pišem da neki objekat drži vezu umesto da stalno pišem pointer.

Profile
 
Posted: 25 September 2010 01:58 PM   [ # 6 ]
Sr. Member
Avatar
RankRankRankRank
Total Posts:  7582
Joined  2005-04-28

ivan90bg wrote:

Pod ‘?ubretarom’ sam mislio na Garbage Collector. Pošto on briše objekte u memoriji koje više niko ne kontroliše samo treba ‘nulirati’ pointere.

Odličan prevod, nisam ga ni primetio, a znao sam na šta si mislio. Preporučću te mom drugu Dragančetu gazdi Mikro knjige. B)

A mislim da sam shvatio zašto ne treba ručno zadavati dealloc. Moguće je da još neki objekat drži pointer ka tom objektu (recimo da je zadat kao argument ili postavljen u promenljivu instance). Tako da treba samo ‘nulirati’ pointer, a Garbage Collector će ga dealocirati tek kada se svi pointeri ka njemu nuliraju.

To verovatno jeste tačno, ali ako me sećanje dobro služi, iOS još nema ?ubretara, pa ako budeš pisao nešto za iOS moraćeš sam da vodiš računa o ‘đubretarenju’. Takođe, i pored najbolje volje ne mogu da zamislim situaciju gde bih ja iz mog programa prosleđivao neki objekat drugom threadu, a da ne znam šta se sa njim dešava pa da pokušam da baratam njegovim sadržajem u drugom threadu. Hoću da kažem, ne bih sebe nikada doveo u takvu siutaciju da ne znam gde mi se objekat još koristi i da ne znam da ne mogu da ga dealociram. Ukratko, neki mehanizam ‘semafora’ moraš da imaš i sam nevezano od dealociranja da ti dva threada ne bi pisala po istom delu memorije unutar objekta u isto vreme.

 Signature 

ACSP 10.10 - ACSP 10.9 - ACA 10.8 Mac Management - ACSP 10.8 -  ACSP 10.7 - ACSA 10.6

Profile
 
Posted: 25 September 2010 03:06 PM   [ # 7 ]
Sr. Member
Avatar
RankRankRankRank
Total Posts:  986
Joined  2008-06-15

iOS nema ‘djubretaru’ pa je zato super navika da se oslobodi memorija rucno, ako planiras da pises aplikacije za iOS. Mislim da bi ti znacilo da prvo predjes C a tek onda da to dopunis sa ObjC. U C-u ces steci mnoge navike tipa rada sa memorijom ili prvog problema pri ukljucivanju fajlova ili biblioteka.
I ja sam poslusao Milketov savet, stigle su mi knjige sa Amazona ‘Programming in Objective-C 2.0’,‘Cocoa programming for Mac OS X’ i ‘Cocoa Recipes for Mac OS X’. Po njima radim i zato i vidim koliko mi je lakse ovo posle znanja C-a, dok se trudim da C# i Java deo zaboravim jer me cesto zbunjuje kada uporedjujem.
Jedan profesor mi je svojevremeno rekao da je Java super za ucenje OO paradigme, meni se to ovde nije tacni pokazalo ali mi znanje Jave jeste olaksalo razumevanje OO predstavljanja.
Opet, 100 ljudi 100 cudi, svako radi kako njemu odgovara.

 Signature 

&#63743;iMac 27\\\" i3 3.2&#63743;MacBook Alu 13\\\" 2.0&#63743;iPad 1st&#63743;iPhone 4S&#63743;iPhone 3Gs&#63743;iMac 20\\\" 2.0&#63743;iPhone 2G&#63743;iPod Classic

Profile
 
Posted: 25 September 2010 03:19 PM   [ # 8 ]
Sr. Member
Avatar
RankRankRankRank
Total Posts:  189
Joined  2009-12-15

:blink: U, što ste se u’vatili za ?ubretra. Pa napisao sam da ga neću koristiti već ću se držati retain/release-a.

Uzgred*, ima li ovde da se nađe neka knjiga na srpskom o Mac OS X/iOS programiranju?

*BTW na srpskom.

Post edited by: ivan90bg, at: 2010/09/25 15:21

Profile
 
Posted: 25 September 2010 03:43 PM   [ # 9 ]
Sr. Member
Avatar
RankRankRankRank
Total Posts:  7582
Joined  2005-04-28

ivan90bg wrote:

Uzgred*, ima li ovde da se nađe neka knjiga na srpskom o Mac OS X/iOS programiranju?

Ne postoji, a ne verujem da će u dogledno vreme i postojati.

 Signature 

ACSP 10.10 - ACSP 10.9 - ACA 10.8 Mac Management - ACSP 10.8 -  ACSP 10.7 - ACSA 10.6

Profile
 
Posted: 25 September 2010 03:54 PM   [ # 10 ]
Sr. Member
Avatar
RankRankRankRank
Total Posts:  986
Joined  2008-06-15

Cemu knjige na srpskom? Dok je prevedu i stampaju bila bi out of date a da ne pricamo o ceni knjige koja bi imala desetinu kupaca.
Bolje se posveti Apple dokumentaciji za Xcode i SDK.

 Signature 

&#63743;iMac 27\\\" i3 3.2&#63743;MacBook Alu 13\\\" 2.0&#63743;iPad 1st&#63743;iPhone 4S&#63743;iPhone 3Gs&#63743;iMac 20\\\" 2.0&#63743;iPhone 2G&#63743;iPod Classic

Profile
 
Posted: 25 September 2010 09:21 PM   [ # 11 ]
Sr. Member
Avatar
RankRankRankRank
Total Posts:  259
Joined  2010-07-21

Da li postoje neka pravila o tome kada treba da šaljem release objektima koje dajem kao argument u metodu nekom drugom drugom objektu ili je to slučaj samo kod niza ili neke klase koja ‘skladišti’ druge objekte? Šta se radi kad moj metod prima objekat kao argument?

Toplo preporučujem da se prvo lepo upoznaš sa C-om. Kada naučš upravljanje memorijom na tom nivou, onda ćeš moći lakše da kapiraš šta se zbiva u ObjC što se tiče brojanje referenci. Iz tog razloga ne bih preporučo da učš bilo kakve ‘recepte’, odn pravila, iako us ih Hillegas i Kochan davali. Moram reći da bi mi bilo teško da to ukapiram da se nisam mlatio s pointerima još pre deceniju i nešto. U svakom slučaju moraš imati uvek u vidu šta se zbiva sa tvojim objektom, pa će ti to reći i kada radiš retain i release.
Još jedna stvar zbog koje je lepo upoznati C je to što ćeš pre ili kasnije da naletiš na C biblioteke koje ćeš koristiti. Evo, ja ekih 5 godina nisam pipnuo ni C ni C++, i odmah mi đavo nije dao mira, nego sam posle par Hillegasovih poglavlja već odleteo da petljam sa libcurl (lepo je znati kako se crtka, ali pre ili kasnije ćeš hteti da uradiš nešto sexy); malopre sam petljao zbog toga i oko malloc i calloc,stringovima terminisanim nulom i posle 5 godina napisao #include <string.h> itd. It feels like I’m a teenager again :D

Enivej, ObjC je bio lagan za učenje, ako se uzme u obzir da se jezicima sa vitičastom zagradom petljam još od pre NATO agresije :lol: Okreni, obrni, zanimljiva OO nadgradnja C, nije komplikovaniji od Jave i ne treba ni da bude. Za Java programere zaista prilagođavanja nije teško, evo i lepog teksta na tu temu:

http://www.maximporges.com/2010/01/23/an-objective-c-tutorial-for-enterprise-java-programmers/

 Signature 

Eager to learn

Profile
 
Posted: 28 October 2010 05:51 PM   [ # 12 ]
Sr. Member
Avatar
RankRankRankRank
Total Posts:  189
Joined  2009-12-15

Jel može neko da mi dešifruje ili da me uputi u dešifrovanje greške na slici, a ako je to nešto uobičaeno kako se rešava.

[img size=499][url=http://img264.imageshack.us/img264/4609/screenshot20101028at174.png]http://img264.imageshack.us/img264/4609/screenshot20101028at174.png[/img][/url]

EDIT: :silly: Nema veze provalio sam kako se rešava. Uradio sam čšćenje svega što je kompajlirano i kompajlirao ponovo.

Post edited by: ivan90bg, at: 2010/10/28 17:56

Profile
 
Posted: 14 November 2010 11:45 PM   [ # 13 ]
Sr. Member
Avatar
RankRankRankRank
Total Posts:  189
Joined  2009-12-15

Evo nove stvari da malo lupate glavu (ili ne ako znate iz prve) 😛 Na sastanku nije bilo programera pa moram da pišem ovde.

U prozoru je prikazan NSTableView. U istom prozoru takođe postoji polje u koje se unosi nova stavka liste. Ono što se kuca u polje predstavlja nekakav kod. NSTableView ima dve kolone - redni broj i još jednu koja pokazuje to što je uneto. Program u pozadini iz svakog tog koda izračunava neke razne parametre, za svaku stavku liste.

E sad, lista bi trebala da bude takva da odjednom popuni više mesta (na ekranu) na osnovu jednog unosa u polje. Ali da samo prvi od tih nekoliko bude to što je uneto, a ostali recimo ‘-||-’ ili isti tekst kao i u prvoj stavki samo bled. <-(da li to može)

I šta je moje pitanje. Znam da je za NSTableView neophodno definisati dataSource, to jest NSMutableArray kao skladište podataka. Da li je moguće da taj niz koji će TableView koristiti bude heterogene sadržine radi štednje memorije. Pretpostavljam da u ovom slučaju ne mogu da koristim ni Bindings, a kamo li Core Data. Znač kada se upiše unos u text view i klikne na dugme Add da se nizu doda jedan objekat neke moje klase a onda posle njega još par objeka neke druge moje klase sa istom promenljivom čji sadržaj se prikazuje u TableView-u. Ti drugi objekti bi samo predstavljali odstojnike da se zna koliki je razmak između onog prvog objekta i sledećeg objekta te klase. Pa bih napravio taj drugi tip objekta (klasu) da zauzima minimalnu memoriju, znatno manju od glavnog tipa, a u stvari i za glavni tip objekta bi mi trebale dve vrste. I da li može boja fonta jedne stavke NSTableView-a da se Bind-uje sa nekom promenljivom objekta koji predstavlja tu stavku liste?

Ovo mi je za projektni zadatak za faks, a obim zadatka je dosta veći od ove stvari ali nemam preterane nedoumice u vezi sa ostatkom. Kao Mac-ovac moram da vodim računa o optimizovanosti i grafičkoj prezentaciji. Aplikacija ne sme da mi izgleda kao Windows crapware. :laugh: 😛 B)

Profile
 
Posted: 15 November 2010 09:27 AM   [ # 14 ]
Sr. Member
Avatar
RankRankRankRank
Total Posts:  259
Joined  2010-07-21

ivan90bg wrote:

Evo nove stvari da malo lupate glavu (ili ne ako znate iz prve) 😛 Na sastanku nije bilo programera pa moram da pišem ovde.

Bio sam bolestan, a i jos uvek sam, zalim :D Sad da vidim cega se secam…

ivan90bg wrote:

I šta je moje pitanje. Znam da je za NSTableView neophodno definisati dataSource, to jest NSMutableArray kao skladište podataka. Da li je moguće da taj niz koji će TableView koristiti bude heterogene sadržine radi štednje memorije.

Pa NSMutableArray bi i trebalo da prima bilo koji NSObject. U tvom slucaju bi stvari odradilo nasledjivanje, kad vec imas dve vrste
objekta, i malkice appstrakcije nad te dve vrste objekta, odnosno neki view objekat koji ce ti sluziti za prikaz u tabeli. Posle mozes, npr. u tableView:  objectValueForTableColumn da odradis posao prepoznavanja o kom se objektu radi, popuni sta treba u view objektu i gotovo. IB ce da sluzi kao i do sada.

 Signature 

Eager to learn

Profile
 
Posted: 15 November 2010 01:22 PM   [ # 15 ]
Sr. Member
Avatar
RankRankRankRank
Total Posts:  189
Joined  2009-12-15

Jel to znač da ako napravim neki moj objekat koji je podklasa NSView-a (u IB-u mu napravim izgled) i stavim ga za promenljivu u objektu koji predstavlja stavku tabele - taj moj specijalni View će i biti prikazan u stavki NSTableView-a.

Što se tiče Bind-ovanja boje teksta svake stavke liste sa nekom promenljivom (NSColor) iz objekta koji predstavlja tu stavku - provalio sam kako se to radi.

Profile
 
 1 2 3 > 
1 of 3