Jump to content

Witaj!

Zaloguj lub Zarejestruj się aby uzyskać pełny dostęp do forum.

Photo
- - - - -

[Kurs] Objective C/Cocoa - 03. Obiekty. Składnia. Typy zmiennych.


  • Please log in to reply
111 replies to this topic

#76 andig

andig
  • 264 posts
  • SkądZ zadupia..., krzesło przed kompem...

Posted 28 July 2009 - 17:00

jeżeli najpierw dowiesz się jakie masz możliwości i jak co się robi to wtedy będziesz mógł to wykorzystać normalnie i pisać program


Możliwości ok, ale co do tego, jak co się robi, to jest to tylko teoria. Nic mi nie da, że obejrzę sobie wykłady zrobione w jakieś tam zagranicznej uczelni i zobaczę parę slajdów i kawałków kodu, bo potem wejdę do XCoda i jedyne co mogę, to to odtworzyć. Problem polega na tym, że to, co naprawdę jest potrzebne do pisania - czyli banały/podstawy, są pomijane, bo według większości autorów, o dziwo wszyscy mamy je znać... z nieba..., albo z innego abstrakcyjnego miejsca. Inaczej pisząc, to co powinno być wyłożone łopatologiczne, jest skrócone do 1-2 zdań, a to zdecydowania za mało.

Co do książki - jeśli jest ona dobra i zakładamy, że moim celem, jest stworzyć podobne przykłady, tylko samemu - to ok. Jest jednak w tym mały kruczek, a nawet dwa mi do głowy przychodzą. Pierwszy, to trzeba mieć książkę, drugi to trzeba mieć czas. O ile teraz mam go dużo, o tyle potem będzie ciężej - studia. Bo nawet z wielkimi chęciami odechce mi się czytania wielkiej knigi przy natłoku roboty, jaką narzucają mi studia. Jeszcze gorzej jest, gdy uczymy się tego języka np. na studiach - w tedy nie mamy tyle czasu, by przerobić ileś tam stron, bo czas nas goni, tyle że tu mam pomoc w tygodniu i mogę zadawać dowolną ilość, często nawet głupich pytań.

#77 Smuggi

Smuggi
  • 63 posts

Posted 28 July 2009 - 17:13

@andig To jeszcze wtrace jedna rzecz. Mysle, ze w Twoim przypadku najlepiej sprawdzi sie nauka na przykladach i gotowcach - to jest dobry stary sposob i sprawdzal sie w zamierzchlych czasach, teraz tez jest chyba najlepszym z mozliwych. Plusy takie, ze widzisz kod napisany przez kogos (z reguly jak jest to dobre zrodlo, to juz uczysz sie dobrych nawykow), po drugie latwiej jest modyfikowac cos dzialajacego niz pisac od podstaw. Najprosciej rzecz ujmujac. Masz tutorial lub prosta przykladowa aplikacje (Apple takie daje, jest nawet tutorial, ktory prowadzi Cie krok po kroku przy okazji objasniajac niektore sprawy), taka, ktora sie kompiluje, uruchamia itd. Uruchamiasz go, pozniej modyfikujesz i starasz sie zrozumiec kod. Dobre przykladowe programy sa skomentowane, wiec masz dodatkowa nauke czytajac kod programu. Tam gdzie nie ma komentarza, siegasz do dokumentacji, ktora tez jest potezna - naucz sie tylko z niej korzystac... Co do skladni Obj-C podawalem, w ktoryms z watkow, ze jest ksiazeczka, leksykon po polsku - poszukaj w Empiku. Moze byc przydatna - chociaz to leksykon. Dlaczego o tym pisze. Bo niestety jak swiat swiatem, wiedza zdobyta samemu najbardziej zapada w pamiec to raz. Po drugie dobry programmer ma w sobie cos z grzebacza... Drogi na skroty nie ma, przeczytanie ksiazki, nie da Ci ani wiedzy ani umiejetnosci... swoje trzeba napisac i "otrzaskac" sie z kodem.. Ale to tak przy okazji. BTW Jakich programistow produkuja uczelnie, wszyscy dobrze wiemy :-D To tyle moich 3 groszy. Naprawde, szczerze zycze Ci powodzenia. PS. Jak bedziesz mial naprawde merytoryczne pytania, to z checia na nie odpowiem. :-D

#78 Roberto

Roberto
  • 13752 posts
  • SkądWrocław

Posted 28 July 2009 - 17:15

Smuggi - szukam tej książki i szukam, a znaleźć nie mogę ;)

#79 Smuggi

Smuggi
  • 63 posts

Posted 28 July 2009 - 17:22

Możliwości ok, ale co do tego, jak co się robi, to jest to tylko teoria. Nic mi nie da, że obejrzę sobie wykłady zrobione w jakieś tam zagranicznej uczelni i zobaczę parę slajdów i kawałków kodu, bo potem wejdę do XCoda i jedyne co mogę, to to odtworzyć. Problem polega na tym, że to, co naprawdę jest potrzebne do pisania - czyli banały/podstawy, są pomijane, bo według większości autorów, o dziwo wszyscy mamy je znać... z nieba..., albo z innego abstrakcyjnego miejsca. Inaczej pisząc, to co powinno być wyłożone łopatologiczne, jest skrócone do 1-2 zdań, a to zdecydowania za mało.


Oj andig andig...

O obj-C - od tego masz zaczac:
Cocoa Dev Central: Learn Objective-C

przy okazji troche o C jak masz problemy:
Cocoa Dev Central: C Language Tutorial for Cocoa

Pozniej lecisz:
Cocoa Dev Central: Learn Cocoa
Cocoa Dev Central: Learn Cocoa II

reszta wiedzy tutaj: Cocoa Dev Central

---- Dodano 28-07-2009 o godzinie 17:25 ----

Smuggi - szukam tej książki i szukam, a znaleźć nie mogę ;)


Chodzilo mi o to, ale widze, ze chyba nie bylo wznowien:

Książka "Objective-C. Leksykon kieszonkowy" -- Wydawnictwo Helion, księgarnia helion.pl

Tak naprawde to chyba nie warto :-) wszystko jest w PDF tylko ze po angielsku. Przydala mi sie kilka razy kiedys i tyle...

#80 andig

andig
  • 264 posts
  • SkądZ zadupia..., krzesło przed kompem...

Posted 28 July 2009 - 17:27

Smuggi - szukam tej książki i szukam, a znaleźć nie mogę ;)


To kiepsko szukasz ;) - Książka "Objective-C. Leksykon kieszonkowy" -- Wydawnictwo Helion, księgarnia helion.pl . W empiku jeszcze nie byłem, ale odpowiedź już chyba znam - nie ma :/.

Edit: Ups, sorka za duplikat inf.

#81 Roberto

Roberto
  • 13752 posts
  • SkądWrocław

Posted 28 July 2009 - 17:41

andig - a coś takiego jak Posted Image tam zauważyłeś?
jak wygląda to ja wiem
ale w księgarni znaleźć nie sposób...

#82 andig

andig
  • 264 posts
  • SkądZ zadupia..., krzesło przed kompem...

Posted 28 July 2009 - 18:02

andig - a coś takiego jak Posted Image tam zauważyłeś?
jak wygląda to ja wiem
ale w księgarni znaleźć nie sposób...


Spokojnie wyluzuj ;). Pewnie, że zauważyłem i dlatego napisałem ,,W empiku jeszcze nie byłem, ale odpowiedź już chyba znam - nie ma :/." :). A tak w ogóle, to szukałem tego w pdf i nie znalazłem. Angielską wersje owszem, ale polską niet :/.

#83 wojtkow

wojtkow


  • 6767 posts
  • Płeć:
  • SkądPoznań

Posted 28 July 2009 - 20:47

Andig na Boga, angielski jest językiem programistów (i generalnie informatyki), jeżeli nie rozumiesz literatury w tym języku to najpierw naucz się jego a dopiero potem ObjC, tak będzie dużo prościej.

#84 andig

andig
  • 264 posts
  • SkądZ zadupia..., krzesło przed kompem...

Posted 28 July 2009 - 21:35

Andig na Boga, angielski jest językiem programistów (i generalnie informatyki), jeżeli nie rozumiesz literatury w tym języku to najpierw naucz się jego a dopiero potem ObjC, tak będzie dużo prościej.


Chyba źle mnie zrozumiałeś. Nie chodzi mi o to, że nic nie kumam - bo owszem kumam i czytam to i owo, ale często bywa tak, że nie kapuje szczegółów, a tylko ogół. Poza tym są słowniki itp. więc nie panikujmy. A z tym - bez tego języka, nie można programować - to ogólnie bujda, choć nie zawsze. Obj-C jest pierwszym językiem, gdzie podczas nauki nie mam ,,zaplecza" dla ,,leniwych" ;) po polsku. No chyba, że się uprzesz, to i przez translator da radę i jest po PL :). Dla chcącego nic trudnego ( ach jak mi się ciśnie to na usta - ale nie zawsze :P ).

#85 Optiv

Optiv
  • 188 posts

Posted 29 July 2009 - 22:51

Cześć, Widze, że nie jestem jedyną osobą, która się uczy programowac w ObjC z młodego pokolenia, którego tak nie lubicie. :P Pozdrawiam.

#86 andig

andig
  • 264 posts
  • SkądZ zadupia..., krzesło przed kompem...

Posted 03 August 2009 - 09:58

Po pierwsze: No!!! Udało mi się xD. I zrobiłem to z tym (id)sender. Dość długo to trwało, ale to dlatego, że siła lenistwa była większa i musiałem się trochę polenić xD. Teraz mam nowy problem. Gdy tworzę nowy projekt, w katalogu classes mam 4 pliki: - 2 o nazwie nazwaAppDelegate - 2 o nazwie nazwaViewController. O ile te dwa pierwsze tworzą się jak zwykle, o tyle te dwa kolejne, to jakaś nowość, która nie wiem czemu się do mojego projektu sama pakuje. Mam też wrażenie, że miesza coś ona w kodzie w plikach nazwaAppDelegate, ponieważ po utworzeniu grafiki IB i kodu, program nawet się nie włącza, a jeśli skasuje te dwa pliki i zmienię kilka linijek, to nagle wszystko chodzi. Kiedy zaczynałem, nie miałem tego i byłem z tego bardzo zadowolony, a teraz coś jest i trzeba kombinować :/. Jakby ktoś mi wyjaśnił o co w tym chodzi, to byłbym bardzo wdzięczny :).

#87 giku

giku
  • 250 posts

Posted 03 August 2009 - 10:45

Niestety my jestesmy bardziej leniwi i jezeli widzimy, ze jezeli komus nie chce sie ruszyc palcem, odrobine pomyslec lub poszukac odpowiedzi na podstawowe i oczywiste pytania, wolimy lezec na kanapie :).

#88 andig

andig
  • 264 posts
  • SkądZ zadupia..., krzesło przed kompem...

Posted 03 August 2009 - 13:55

Acha... xD, ale przynajmniej wiem teraz, że to jakaś prosta sprawa, bo mi się wydawało, że coś w jakiś opcjach zmieniłem i dlatego to mam :P. O kurde, rzeczywiście gafę walnąłem :P. Skoro to takie banalne jest, to zajrzałem do YouTube... Po prostu nie ten szablon wybrałem xD. Ech... xD. Edit: Teraz zastanawia mnie czym, a jeszcze bardziej, co mogę zrobić z File's Owner'em i Firest Respondent w IB. Jeżeli chodzi o to pierwsze, to z tego co przeczytałem, to jego znaczenie wzrasta wraz z wielkością aplikacji. O ile się nie mylę, to przy tworzeniu wielu okienek, wszystkie powinny odwoływać się do niego ( czy jakoś tak ), żeby szybciej działa aplikacja. Reszta co przeczytałem, to jeden wielki bełkot. Przeczytałem, ale wniosków żadnych. Z tym drugim, to poza tym, że widzę co tam jest standardowo ( copy/past itd. ), co daje trochę do myślenia, to nie wyjaśnia mi tego w miarę dokładnie. Na jakimś forum gościu pisze coś o odwołaniach, jak na coś klikamy i ble ble ble ( też bełkot ). Inaczej mówiąc, nic mi to dalej nie mówi. Z programu, do jakiego podał link wezuwiusz, zauważyłem, że oba te elementy odwołują się do menu u góry ekranu. Niestety nie widzę jednak w tym jakieś logiki, dlaczego ten pierwszy jest do About Aplication podpięty, a drugi do np. copy. Jeszcze ciekawsze jest to, że przecież tego menu nie ma w iPhonie xD. Mam nadzieję, że to pytanie jest lepsze od poprzedniego :).

#89 andig

andig
  • 264 posts
  • SkądZ zadupia..., krzesło przed kompem...

Posted 04 August 2009 - 22:18

Właśnie mija mi drugi dzień zabawy z przykładem od Apple i wielkie rozczarowanie. Program wyrzuca zawsze jeden błąd, a w symulatorze 3.0 nie działa jedna funkcja. Szkoda... Nie mówiąc już o tym, że usuwam kawał kodu, a program jak działał, tak działa, co oznaczać może 2 rzeczy: albo jestem jeszcze za głupi na to, albo jest tam masa zbędnego kodu. Program to avTouch. Sorka za post, pod postem, ale myślałem, że automatycznie złączy dwa posty.

#90 giku

giku
  • 250 posts

Posted 04 August 2009 - 22:51

Nauka pt. cos tam wyrzuce, cos doloze i cos sie stalo nie ma sensu. Wez sobie minimalny przyklad i zrozum od a do z co sie dzieje. Wiem ze to wymaga czasu i poswiecenia ale nie ma innej drogi. amen

#91 andig

andig
  • 264 posts
  • SkądZ zadupia..., krzesło przed kompem...

Posted 04 August 2009 - 23:43

Ma to sens, jak są przykłady, a ich jak na lekarstwo. Zaledwie kilkanaście na stronie Apple i ileś tam w necie porozrzucanych po forach itp. Co nie wezmę, to będzie już sporo bardziej zaawansowane niż poziom jaki reprezentuje ( Pomijam to co jest w ,,necie", bo nie wiem jak to znaleźć. Jak mam sprecyzowane czego szukam, to ok, ale tak na oślep, to nie wiem. ). Tak swoją drogą, to właśnie dzięki takiej metodzie doszedłem jak zrobić ten kalkulator ( na czyimś przykładzie bazując oczywiście ). I ostatnia rzecz - oryginalna wersja tego programu daje ciała. Ja pomijam to moje kasowania, może i coś tam robi, ale ja go odpalam, a on wywala błąd, jeden błąd znalazłem, który w ogóle uniemożliwia korzystanie z tego :/. Ogólnie kicha. Moim pomysłem z tym programem było na początku okrojenie go i zrozumienie co pozostało, ale stwierdziłem, że muszę wiedzieć co wywalam, więc staram się zrozumieć chociaż co robi jaka metoda, a przy okazji trochę składni się uczę.

#92 wezuwiusz

wezuwiusz
  • 783 posts
  • SkądDublin, Katowice

Posted 05 August 2009 - 11:08

[...] co oznaczać może 2 rzeczy: albo jestem jeszcze za głupi na to, albo jest tam masa zbędnego kodu. [...]

to pierwsze :lol:

hehe... a powaznie to musisz zaczac od abecadla, od najprostszych rzeczy. rzeklbym nawet od 'hello word' :). w pewnym momencie klapka Ci zaskoczy i powiesz 'o kurde ale to proste bylo' ... wiem bo niedawno tez przez to przechodzilem, i do tego od zera, bez znajomosci jakigokolwiek C++, javy itp :) a niedlugo pojawi sie moja druga aplikacja w appstore :D
wiekszosc przykladow odwoluje sie 'w ob-c robisz to podobnie jak w c++ tylko inaczej' :) ...

przykladow jest mnostwo, wystarczy troche poszperac, nie laduj sobie od razu duzych projektow... zacznij od guziczka i napisu... a samo zaskoczy jak zrozumiesz idee.

z ciekawszych stron jeszcze polecam AppsAmuck iPhone Development Tutorials and Examples i First iPhone Application - iPhone SDK Articles gdzie jest bardzo fajnie wyjasnione 'hello word'

#93 andig

andig
  • 264 posts
  • SkądZ zadupia..., krzesło przed kompem...

Posted 05 August 2009 - 12:41

Za stronki i rady dzięki ;). Co do podstaw - Jak zrobić Hello World czy kalkulator już wiem, chciałem coś następnego. Z faktu, że GUI robię w IB, nie chciałem kolejnej aplikacji okienkowej, bo i tak nie wiele bym się z niej nauczył, no chyba, że mamy na myśli jakaś poważniejszą np. klient ftp. Powiem wprost, bo inaczej nie umiem xD - skoro nalegacie, ok, poszukam jakiegoś znacznie prostszego przykładu, ale takiego co wprowadzałby coś nowego :).

#94 giku

giku
  • 250 posts

Posted 05 August 2009 - 12:44

Nienie, nie siadaj nawet do tutoriali... nie mieszaj linijkami ktorych nie rozumiesz..
Na poczatek zacznij od tego:
Amazon.com: Cocoa® Programming for Mac® OS X (3rd Edition) (9780321503619): Aaron Hillegass: Books

Zobacz co to cocoa, co to delegaty, jakie sa konwencje gui, patterny itd... musisz rozumiec podstawy, wtedy reszta sie poprostu "robi".

#95 wezuwiusz

wezuwiusz
  • 783 posts
  • SkądDublin, Katowice

Posted 05 August 2009 - 13:44

o tak, polecam ta ksiazke... tez od niej zaczynalem :) ew. o'reilego . najpierw musisz zalapac o co biega... jak zrozumiesz podstawy, to pozniej juz z gorki... najgorzej zeby zaskoczyla klapka z tym 'czym to sie je' :)

#96 andig

andig
  • 264 posts
  • SkądZ zadupia..., krzesło przed kompem...

Posted 05 August 2009 - 16:12

Dobrze, niech więc będzie ta książka. Będzie to trochę gehenna, bo nigdy nie byłem zwolennikiem książek, to raz, a dwa to język. Nie chodzi bynajmniej o to, czy go znam, czy nie, po prostu nie sprawia mi to przyjemności. Dla przykładu podam taki fakt, że trudniej szuka mi się słowa angielskiego w teksie po angielsku, niż polskiego w polskim, no ale tu nie mam wyboru xD. Tak czy siak ( siak poproszę :P ) zaczynam czytać tą książkę od dechy do dechy. Amen :P. PS. Mam już od dawna pomysł na aplikacje, ciekawe czy zdążę ją napisać przed kimś xD. Jak nie zdążę to trudno oczywiście, mam jeszcze parę innych w zanadrzu ]:->.

#97 andig

andig
  • 264 posts
  • SkądZ zadupia..., krzesło przed kompem...

Posted 12 August 2009 - 22:30

Niestety nie ma opcji edytuj :/. Czytając tą książkę ( na razie pominę, co o niej myślę, ale z góry mówię - nie jest źle... ;) ), spotkałem się z czymś takim - srandom(time(NULL)); - ok wiem, co to jest srandom, ale nie kumam, co tam robi time(NULL) i co to w ogóle robi ?? Odlicza czas, czy co ?? W przykładzie z tej książki, nie widać efektów tego polecenia. Mam kilka pomysłów, co to robi, ale nie chce je wymieniać, bo i tak żadnych z nich nie udało mi się jeszcze potwierdzić. W dokumentacji dla C jest wzmianka o srandom, ale nie ma nic o tym time :/.

#98 dr_bonzo

dr_bonzo
  • 154 posts

Posted 13 August 2009 - 09:49

No jak wiesz co to srandom jak wlasnie nie wiesz

void srandom (unsigned int seed)
The srandom function sets the state of the random number generator based on the integer seed. If you supply a seed value of 1, this will cause random to reproduce the default set of random numbers.

To produce a different set of pseudo-random numbers each time your program runs, do srandom (time (0)).


Inicjujesz srandoma() biezacym czasem, gdzie NULL == 0 a time() zwraca w rzeczywistosci integera.

#99 Smuggi

Smuggi
  • 63 posts

Posted 13 August 2009 - 10:25

Ze tez Wam sie chce odpowiadac. Andig wpadl juz w tryb "trolowania", bo tego to juz nawet nie mozna nazwac dopytywaniem sie o konkrety... Cytuje: "Mam kilka pomysłów, co to robi, ale nie chce je wymieniać..." Tutaj nie trzeba miec pomyslow, bo to robi konkretna rzecz, ktora jest opisana w dokumentacji. I cos taki tajemniczy, ze nie chcesz ich wymieniac. Podziel sie swoja wiedza :-D Ciekaw jestem do jakich jeszcze elementarnych pytan dojdzie w tym watku. Andig rusz swoje cztery litery i zacznij sie uczyc jak czlowiek. Bo na razie, to Ty sie miotasz i pytasz o pierdoly, ktore sa w kazdym podreczniku do jezyka C... Dla mnie to jest kolejny przyklad lenistwa. Bedziesz pytal o kazda funkcje ktora napotkasz w programie??? I naucz sie wreszcie korzystac z dokumentacji!!!

#100 andig

andig
  • 264 posts
  • SkądZ zadupia..., krzesło przed kompem...

Posted 13 August 2009 - 14:55

dr_bonzo - Dzięki !!! Co przypuszczałem ?? Skoro to ma losować liczbę i mieć coś wspólnego z czasem, to wydawało mi się, że to ma za zadanie losować liczbę co określony czas. Nie wpadłem na to, co napisał dr_bonzo. Faktem jest, że nadal do końca sobie tego nie wyobrażam. Zrozumiałem to tak, że srandom jest inicjalizowane o konkretnym czasie, który zwraca time() w postaci Int. No fajnie, tyle, że jak wpisze jakąkolwiek liczbę inną od 0, to wywala mi błąd :/. Z drugiej strony nic nie piszą o innych liczbach, a jedynie o time(0). dr_bonzo pisze, że time(0) zwraca Int., no więc ile on wynosi ?? 0?? Zaczyna nie mieć to sensu. Wydawało mi się, że jak zmienię coś w time(), to coś się zmieni, a tu nic, poza błędem. To co jest pogrubione kumam, tylko nie kumam co będzie jeśli zmienię coś w time i jakie ma to konsekwencje. Do trolowanie jeszcze daleko, gdyż podstawowym celem trolowania jest obrażanie forumowiczów, bądź rozmydlenie tematu w celu zrobienia offtopu i spamowania ;). W dokumentacji w XCode jest wszystko na temat jak są generowane liczby, ale o time NIC nie znalazłem, nawet nie ma tam użytego słowa time. Wpisałem w szukaj srandom przy włączony Obj-C i C. Mam nadzieję, że tym razem wystarczająco wyjaśniłem, czemu tak, a nie inaczej ;). Wiem, że to ,,głupie pytanie", choć mówi się, że nie ma głupich pytań :P ( bez obrazy ), ale czasem rzeczy najłatwiejsze są najtrudniejsze. Poza tym dokumentacja nigdy nie jest idealna, a przynajmniej ja takiej jeszcze nie widziałem ;). PS. Mam teraz kiepski internet i 50 MB do wykorzystania ( nie wiem ile z tego mi zostało ) i nie mogę chodzić po nie wiadomo ilu stronach, bo zabulę jak za zboże. Jestem teraz nad morzem w Dębkach :), więc pozdrawiam z naszych polskich, nad morskich pensjonatów ;).




1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users