Jump to content

Objective-C


Recommended Posts

 

Objective-C — ამრეკლავიობიექტზე-ორიენტირებული პროგრამირების ენა, რომელიც C-ს უმატებს Smalltalk-ის ნაირ მესეჯების გაგზავნის მექანიზმს.

დღევანდელ დღეს იგი უმთავრესად გამოიყენება Apple-ის Mac OS X-სთვის და iPhone OS-თვის: მაინც თუ არ ეყრდობიან OpenStep სტანდარტს. Objective-C არის Cocoa API-ის მთავარი პროგრამირების ენა, მაინც თუ იგი გამოყენებული იყო NeXT-ის NeXTSTEP OS-ის მთავარ ენად. ზოგადი Objective-C პროგრამები რომლებიც არ ხმარობემ ამ ბიბლიოთეკებს შესაძლოა კომპილირებული იყვნენ ნებისმიერი GCC კომპილატორით(რომელიც Objective-C კომპილატორს შეიცავს) მხარდაჭერილ ოპერაციულ სისტემაში.

Objective-C არის ძალიან thin C-ის ზედა ფენა, არის C-ზე დამატებული საშუალებები. ასე რომ, შესაძლოა ნებისმიერი C კოდის კომპილირება Objective-C კომპილერით, და C კოდის შერწყმა Objective-C კლასთან.

Objective-Cის სინტაქსი მოდის Smalltalk-იდან. არა ობიექტზე-ორიენტირებული ოპერაციების სინტაქსი (ცვლადები, ინსტრუქციები, ფუნქციის აღწერა, ფუნქციის გამოყენება) არის იგივე რაც C-ში, და ობიექტზე-ორიენტირებული ოპერაციების სინტაქსი მიბაძულია Smalltalk-ის მესეჯების გაგაზავნის სისტემასთან.

 

...

http://ka.wikipedia.org/wiki/Objective-C

 

 

ყველა პროგრამულ ენაზე არის რამის გახსნილი თემა და ბარემ ამაზეც იყოს :D

 

bb1a9eba2bc0.png

 

ჩემი შედევრი :D

ქართულ ენაზე თუ გაქვთ ვინმეს კონსპექტები ან წიგნები, კარგს იზავთ თუ დადებთ.

Link to comment
Share on other sites

ინგლისურად მაქვს დეველოპერის ბიბლიოთეკა თუ გინდა,

obj c რეალურად მხოლოდ და მხოლოდ iOS-ისთვის გამოიყენება დღეს-დღეობით, დანარჩენი არცერთი ფლათფორმა ამას არ იყენებს

 

 

 

შენ პროგრამას რაც შეეხება კიდე ცუდად გიწერია, ამდენი if statement არ უნდა გქონდეს, switch უნდა გეხმარა, უფრო მარტივად, მოკლედ და ვიზუალურად ლამაზად გამოვიდოდა

Link to comment
Share on other sites

ინგლისურად მაქვს დეველოპერის ბიბლიოთეკა თუ გინდა,

obj c რეალურად მხოლოდ და მხოლოდ iOS-ისთვის გამოიყენება დღეს-დღეობით, დანარჩენი არცერთი ფლათფორმა ამას არ იყენებს

 

 

 

შენ პროგრამას რაც შეეხება კიდე ცუდად გიწერია, ამდენი if statement არ უნდა გქონდეს, switch უნდა გეხმარა, უფრო მარტივად, მოკლედ და ვიზუალურად ლამაზად გამოვიდოდა

 

მინდა ეგ ინგლისური დეველოპერის ბიბლიოთეკა.

 

გუშინ დავიწყე სწავლა :D http://www.youtube.com/channel/UCJbPGzawDH1njbqV-D5HqKw ამის ჩენელზე რამოდენიმე ვიდეო ვნახე და მერე დავწერე ეგ

Link to comment
Share on other sites

მინდა ეგ ინგლისური დეველოპერის ბიბლიოთეკა.

 

გუშინ დავიწყე სწავლა :D http://www.youtube.com/channel/UCJbPGzawDH1njbqV-D5HqKw ამის ჩენელზე რამოდენიმე ვიდეო ვნახე და მერე დავწერე ეგ

http://thepiratebay.sx/torrent/7281178/Programming_in_Objective-C_4th_Ed__BBS_

Link to comment
Share on other sites

აი გადავაკეთე

 

077b23da0fb3.png

 

b1f56a361af9.png



float -ები გავხადე მისამატებელი რიცხვები, უფრო ზუსტი იქნება ეხლა, ათწილადების მიმატება/გამოკლება... იქნება შესაძლებელი.

if statement ები დავტოვე რამოდენიმე და სადაც else if იყო საჭირო იქ case ებით შევცვალე.

Link to comment
Share on other sites

სადაც კონსოლში გამოგაქ (NsLog) 2ჯერ ზედიზედ როცა იყენებ 1ში დაწერე და თუ გინდა რომ ახალ ხაზზე დაწეროს n დაწერე სადაც გინდა რო ახალი ხაზი დაიწყოს

 

დიდი სვიჩი რატო გაქ? რა გიწერია იმაში?

 

დანარჩენი კარგია

Link to comment
Share on other sites

C-ს გამოყენების არსს ვერ ჩავწვდი როცა C++ არსებობს და თან ინტეგრირებული აქვს C-დან თითქმის ყველაფერი.

Link to comment
Share on other sites

ეგ n კი ვიცოდი, მაგრამ არ მიფიქრია ეგრე შემოკლება.

დიდ სვიჩში ენის არჩევა მაქვს.

NSLog(@"აირჩიეთ ენა/Choose languagen1. Englishn2. ქართული");
    scanf("%i", &fourthNumber);
    switch(fourthNumber){

და ეს fourthNumber თუ 1 იქნება ინგლისურ ვერსიას ჩართავს, თუ 2 - ქართულს.

// English

    case 1:
            NSLog(@"Which calculation do you want to make?n1. Additionn2. Substractionn3. Multiplyn4. Divide");

// ქართული

    case 2:
        NSLog(@"როგორი კალკულაცია გსურთ განხორციელდეს?n1. მიმატებაn2. გამოკლებაn3. გამრავლებაn4. გაყოფა");
Link to comment
Share on other sites

და რაში უნდა გამოიყენო აქ, მაგას რომ სწავლობ?

 

 

მესეჯების,  ეყრდობიან (c) ქუთაესეე..

Link to comment
Share on other sites

C-ს გამოყენების არსს ვერ ჩავწვდი როცა C++ არსებობს და თან ინტეგრირებული აქვს C-დან თითქმის ყველაფერი.

ოპერაციული სისტემები იწრება C-ზე, უფრო low level არის ვიდრე C++ იმის მიუხედავად რომ თითქმის მთლიანი C არის C++-ში ინტეგრირებული

რატო არსებობს ნერო ან ყველა მსგავის პროგრამა თუ ვინდოუსს აქვს თავისივე ჩამწერი რომელიც თავის საქმეს იდეალურად ასრულებს?

 

 

ეგ n კი ვიცოდი, მაგრამ არ მიფიქრია ეგრე შემოკლება.

დიდ სვიჩში ენის არჩევა მაქვს.

NSLog(@"აირჩიეთ ენა/Choose languagen1. Englishn2. ქართული");
    scanf("%i", &fourthNumber);
    switch(fourthNumber){

და ეს fourthNumber თუ 1 იქნება ინგლისურ ვერსიას ჩართავს, თუ 2 - ქართულს.

// English

    case 1:
            NSLog(@"Which calculation do you want to make?n1. Additionn2. Substractionn3. Multiplyn4. Divide");

// ქართული

    case 2:
        NSLog(@"როგორი კალკულაცია გსურთ განხორციელდეს?n1. მიმატებაn2. გამოკლებაn3. გამრავლებაn4. გაყოფა");

არ გჭირდება მაგხელა რაღაცის დაწერა. ბევრად აგრძელებ თან იგივეს აკოპირებ უბრალოდ სხვა ენას წერ ხელით

სხვანირად მოიფიქრე, დიდი სვიჩის გარეშე, და რაღაც პრინციპი მოიფიქრე რითიც მიხვდები რა ენაზე უნდა დაწეროს და მერე იმით დაწერე.

 

თუ ვერაფერს ვერ მოიფიქრებ პატარა იდეას მოგცემ ცოტახანში 

და რაში უნდა გამოიყენო აქ, მაგას რომ სწავლობ?

 

 

მესეჯების,  ეყრდობიან (c) ქუთაესეე..

iOS, OS X, სხვა ვერაფრისთვის, ამ ფლათფორმისთვის თუ შექმნი აპლიკაციებს მარტო

Link to comment
Share on other sites

iOS, OS X, სხვა ვერაფრისთვის, ამ ფლათფორმისთვის თუ შექმნი აპლიკაციებს მარტო

ხოდა მაგიტომ ვკითხე.

Link to comment
Share on other sites

არ გჭირდება მაგხელა რაღაცის დაწერა. ბევრად აგრძელებ თან იგივეს აკოპირებ უბრალოდ სხვა ენას წერ ხელით

სხვანირად მოიფიქრე, დიდი სვიჩის გარეშე, და რაღაც პრინციპი მოიფიქრე რითიც მიხვდები რა ენაზე უნდა დაწეროს და მერე იმით დაწერე.

 

თუ ვერაფერს ვერ მოიფიქრებ პატარა იდეას მოგცემ ცოტახანში 

 

1f9ebc76302d.png

 

733012ea1194.png

 

ვიჩალიჩებ ეხლა კიდევ, იქნებ უფრო დავამოკლო კოდი

  • Upvote 1
Link to comment
Share on other sites

b56c80c86581.png

 

მეტი აღარ ვიცი რა ვქნა :D

ისე მაგრად ვიწვალე ამ NSNumber და NSDecimalNumber-ზე

  • Upvote 1
Link to comment
Share on other sites

ეგ კი კარგია, მაგრამ ეხლა რა გავაკეთო? :D

Link to comment
Share on other sites

iრამე გააქვს? (ipod, iphone, ipad)

 

აპლიკაცია დაერე მაგისთვის, ან OS X-ისთვის, და უფრო პრაქტიკულ გამოყეებას მიეჩვევი.

 

iPad-ისთვის ვწერდი მე და შენ როგორც წერ იმისგან საკმაოდ განხვავდება. მეხისერების მანეჯმენტსაც ისწავლი და apple-ის framework-თანაც იმუშავებ

Link to comment
Share on other sites

iPhone მაქვს.

ეხლა შემიძლია რაც დავწერე ეგ რო iPhone-ზე დავაპორტირო?

Link to comment
Share on other sites

jailbreak გინდა ჯერ რომ აპლიკაციები დეველოპერის ლიცენზიის გარეშეო ჩაწერო

მერე xCode-ში რაღაცეები უნდა შეცვალო რომ შენი (self signed) სერტიფიქატიტ შეგაქმნევინოს .app პაილი

.app ფიალიდან მერე გააკეთებ .ipa-ს და ჩაწერ iphone-ში

 

 

მაგრამ შენ რაც გიწერია მაქ კონსოლის აპლიკაციაა და ვერ გადაიტან მაგას + ვიზუალური მხარეც უნდა გააკეთო რა გამოჩნდება iphone-ზე

 

ახალი პროექტი დაიწყე სადაც ვიზუალური მხარის შექმნია შეგიძლია და მერე ეგ კოდი გადააკოპირე. მთლიანად ვერა მაგრამ რაღაც ნაწილი გამოგადგება

Link to comment
Share on other sites

ჯერ მაინც ეგეთ დონეზე არ ვიცი :D გუშინ დავიწყე სწავლა

Link to comment
Share on other sites

შაბათს სადღაც 10-იდან 8-მდე ვკითხულბოდი ნონ-სტოპ. მარტო საჭმელზე ვჩერდებოდი

და მერე 8-იდან სადღაც 4-მდე ვწერდი.

 

კვირასაც სადღაც 12-ზე დავიყწე და 7-ისთვის დამთავრებული მქონდა.

 

ანუ მთლაიანდ 2 დღეში დავწერე მთლიანი აპლიკაცია, მერე 1 კივრა ტესტავდნენ და 1 დღეში ბაგები გავასწორე და საკაიფოდაც გადამიხადეს :D

 

აპლიკაცია იყო დაახლოებით "ვის უნდა 50,000" ოღონდ მუსიკალური ვერსია

 

მაგრამ მე ზოგადად პროგრამირების გამოციდელბა მქონდა (ნახევარი წელი ისე რა, და კიდე ნახევარი მოშნად პროგრამირება თუ შეიძლება გამოციდელბათ ჩაითვალოს)

 

პროსტა მე მანუალების კითხვა დავამუღამე მაგრად

 

 

 

 

 

ხოდა ეს ყველაფერი რატო მოვყები. ეხლა ვისწავლე და უკვე იმის კეთება ხო არ დავიწყებ მიდგომა არაა სწორი. რამე აპლიკაცია მოიფიქრე, დაყავი პატარ-პატარა საფეხურებად. (მაგალითად უკანა სურათის ჩასმა, კონპკების გაკეთება, ფუნქციის დაწერა, ფუნქიიცს კნოპკაზე მიბმა, და ა.შ) თავიდანვე მთლიანაად რო დაუფუქირდე აუ ამას როგორ დავწერო ვერაფერს ვერ გააკეთებ ვერასდროს. ეხლაც რო ვწერ ხოლმე დიდ რამეს ვცდილობ რო თავიდანვე არ დაივყწო მთლიანზე ფიქრი რადგან თითქოს ბევრადა რთუილდება საბოლოო შედეგის უცებ შემქნა არადა ნაწილ-ნაწილ რო აკეთებ ისე მარტივად იწერება ბოლოს ფიქრობ რა მაწუწუნებდაო

 

ასე რომ, მოიფიქრე რამე მარტივი აპლიკაცია. მაგალითად 4 კნოპკა გააკთე და გააჩნია რას დააწვები სხვადასხვა pop up ბოქსი გაიჩითოს, ელემენტარულია, არაფრის მომცემი არაა რეალურად მაგრამ შეეჩვევი გაკეთებას.

 

თუ რამე გაგიჭირდა მომწერე და შევძლები დაგეხმარო, ექსპერი ვერ ვარ obj c-ში მაგრამ ასე თუ ისე OpenGL თამაშების გარდა მგონი ნებისმერი აპის გაკეთება შემიძლია

 

წარმატებები მოკლედ :)

Link to comment
Share on other sites

გავითვალისწინებ მაგას. ეგ მანუალები სად შეიძლება ვიშოვო?

 

ისე მაგის გაკეთება შემიძლია უკვე, კნოპკები, მერე კნოპკაზე მიბმა რაღაცეების და ა.შ.

უბრალოდ რამე ვიდეო ან მანუალი მინდა რო გადავიკითხო და მერე მაგის მიხედვით რამე დავწერო.

 

აი მაგალითად წინა გვერდზე რაც დავდე (სქრინები), აი მაგის გაკეთება მომივიდა აზრად რამოდენიმე ვიდეოს ყურების შემდეგ. რაღაც ფუნქციები ვისწავლე იმ ვიდეოებიდან, მერე მომივიდა აზრად მაგის დაწერა და დავწერე კიდევაც. 

პახოდუ ცოტა გამოცდილება მაქვს ჯავადან და if-ები და რაღაცეები მეთვითონ მივამატე. თან არ მიყვარს ზუსტად 1-1 ში რო ვიწერ ვიღაცის კოდს.

Link to comment
Share on other sites

 

აი ამას და http://thepiratebay.sx/torrent/8193386/Learning_Cocoa_With_Objective-C_3rd_Edition_V413HAV (ორონდ 2010ის ვერისას, ეს 2012ია, წესით უნდა ჯობდეს)

 

ამის ესე მიყვე კითხვა მთლაიანდ არ გინდა. მარტო რაღაც მომენტამდე რო თავისბურებები რაც აქვს იმას გეცნო მერე რაც დაგჭირდება იმას დაესრჩავ და გამოიყენებ

 

მგალითად სიმღერის ჩართვა თუ გინდა დასერჩევ და იპოვი, მთლიანი წიგნის წაკითხვა არ გჭირდება იმისთვის რომ ერთი ფუნქცია იპოვო

Link to comment
Share on other sites

კიდევ მოვიგონე რაღაცა იმ წინა "პროგრამისთვის" :D

 

დავამატე do while loop-ი. 5 ჯერ შეიძლება მარტო კალკულაციის განხორციელება, მერე თავიდან უნდა ჩართო. პახოდუ ვორნინგები დავუმატე რამდენი კალკულაცია განხორციელდა და რამდენი შეიძლება კიდევ რომ განხორციელდეს.

 

b0e956f0932c.png

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.