[Powered by Google Translate] [Seminar] [iOS: a Boss kimi proqramlar yazmaq]
[Tommy MacWilliam] [Harvard Universiteti]
[Bu CS50 edir.] [CS50.TV]
>> Bütün hüquqlar, hər kəs, iOS xoş gəlmisiniz: a Boss kimi proqram yazmaq.
Bu seminar iPhone apps yazılı diqqət gedir
və öz növbəsində iPad üçün apps yazılı və biz əsasən vasitəsilə gəzmək olacaq
bir app etmək üçün necə bir neçə müxtəlif nümunələri Tic Tac ucu kimi sadə bir oyun,
və ya xəbər oxucu bir növ kimi bir app edilməsi daha maraqlı olduğunuz halda
ya mən də bu barədə danışacağıq İnternet ilə əlaqə ki, bir şey.
Burada qısa gündəliyi var.
>> IOS apps, Objective-C adlı dilində yazılmış
və bu, C oxşar deyil, həqiqətən bütün bir az
biz dil özü haqqında bir az söhbət olacaq
və sonra necə XCode adlanan bu app proqramı istifadə edərək iPhone apps yaratmaq üçün,
siz hələ nazil əgər indi download başlamaq üçün çekinmeyin.
Bir neçə gigabayt edir.
Bu App Store-da pulsuz olmalıdır, belə ki, bir Mac lazımdır
ideal OS X-in son versiyasını
Siz değilseniz, heç bir problem.
Biz sizin istifadə üçün mövcud elm mərkəzi Macs var
XCode quraşdırılmış, və inkişafı üçün bu istifadə çekinmeyin. ilə
Əgər app etmək istəyirəm, lakin Mac yoxsa, narahat olmayın.
Ki, kampus resursları bol var.
Və sonra siz edə bilərsiniz müxtəlif apps 2 böyük nümunələri əhatə olacaq.
Objective-C C. super set deyirlər nə texniki
Hər hansı C kodu də etibarlı Objective-C kodu deməkdir.
Yəni kanal növü C. bəzi əlavə funksiyalar itiuclu o deməkdir ki,
Bu xüsusiyyətləri bir daha malloc yazmaq olmayan daxildir, Allaha şükür
heç o axmaq göstəricilərinə narahat olan və onlara azad və bütün məhsulları
C haqqında nifrət və bu cür Objective-C getdi.
>> İndi, Objective-C, həmçinin, çox daha böyük bir standart kitabxana
belə ki, Objective-C pulsuz daxilində almaq daha çox funksionallıq var.
Biz PHP yazılı zaman saxla biz dan getdi fark
edə bilərsiniz, bütün bu crazy şeyi nəhəng kitabxana bu kiçik dil.
Eyni şey iOS baş verir.
Orada Buddist təqvim kimi şeylər üçün obyektlərin, və həqiqətən bir şey
bəlkə yəqin ki, Objective-C-nin həyata keçirilməsində mövcud hesab edə bilər.
Objective-C məqsədi hissəsi bir şey sened olunur
Object-Oriented Programming çağırıb.
Bu yeni konsepsiya cür, lakin biz, həqiqətən, çox öyrəndim
artıq bu anlayışların bir çox.
Object-Oriented Programming arxasında ideyası siz strukturu olacaq ki,
bu şeylər ətrafında kodu bir çox dərsləri adlı
və bu dərsləri həqiqətən structs tərənnüm olunur.
Bir struct daxilində biz əsasən burada dedi, bir şey
və bu şey üzvləri ola bilər.
Məsələn, bağlı siyahısında node başqa şeylər ola bilər
bir dəyər kimi, siyahıda növbəti node bir göstərici,
və birlikdə göstərici və dəyəri struct bu bir instansiya ibarətdir ki,.
Başqa Dərslər çox oxşar
dərsləri də onların daxili funksiyaları ola bilər.
Biz struct elan zaman, yalnız int n və ya sonrakı node * deyə bilər.
>> İndi Objective-C ilə biz, həqiqətən, funksiyaları bilər
o şeyi daxilində.
Dərsləri edə başqa bir şey onlar digər siniflər data varis bilər.
Məsələn, Objective-C dərsləri daxili bir dəstə baxaraq olacaq.
Onlardan biri bir ekran görünüşü təmsil sinif ola bilər
və belə deyərək Mən öz nöqteyi həyata istəyirəm
biz əsasən Apple üzərində kimsə, yəqin ki, həqiqətən gözəl insanlar, demək
Mənim üçün bu sinif yazdı və bu düymələr tapılanlar kimi şeylər emal
və ya ekran göstərilməsi və biz, həqiqətən, ürəyisözlü olacaq
bütün funksionallığı özümüz həyata keçirmək və belə sadəcə tərəfindən
data devralma biz ki, sinif etdi ki, hər şey deyə bilər
Mən də sinif daxilində istəyirsinizsə, və sonra, bəzi digər məhsulları etməyə gedirəm
yəni bir app həyata keçirir.
Yəni nə söz miras deməkdir. Biz bir daha konkret misal görəcəksiniz.
>> Və nəhayət, Object-Oriented Programming ilə əsas olduğunu
bu data encapsulation gətirib çıxarır.
Bizim problem bəzi qoyur biz bu böyük, qlobal dəyişənlər ola bilər
və hər yerdə Globals ki, biz dövlət takip istədiyiniz bilərsiniz.
Dərsləri ilə biz bir obyekt daxilində məlumat encapsulating başlaya bilərsiniz.
Biz app bir ekran varsa, biz, həqiqətən, hər hansı məlumatlar var ehtiyac yoxdur
ki, bizim app daxilində digər ekran,
və belə dərsləri ərzində şeyi encapsulating bu həqiqətən çıxarır
daha yaxşı kod dizayn və bu, əlavə bəzi funksiyaları ilə mümkündür
Objective-C.
Forewarning, Objective-C üçün sintaksis bananas edir.
Bu, biz əvvəl gördüm heç bir şey kimi
belə ki, bir öyrənmə curve üçün istifadə əldə bir az
Bu heck nə deməkdir?
Amma bir dəfə həqiqətən, həqiqətən, hamar edir ilkin öyrənmə curve ki, keçmiş olsun
apps yazılı başlamaq üçün.
>> Burada demək, bir sinif elan etmək üçün var, mənim sinif
və bəlkə burada daha sonra müəyyən gedirəm ki, bəzi şeylər var
I @ interface demək gedirəm.
I @ interface demək gedirəm. Mən sinif adı vermək gedirəm.
Və sonra başqa bir yerdə mən, @ sonunda demək gedirəm
bu @ interfeys və @ sonuna və hər şey
mənim sinif olacaq.
Yəni bizim. H faylları daxilində nə olacaq.
Just C kimi. H faylları əsasən mövcud olacaq ki, bəzi şeylər burada dedi.
Mən mütləq, onlar hələ nə belirten deyiləm
lakin compiler onlar mövcud bilməlidir.
Sonra içərisində bizim. M faylları çünki Objective-C m
biz həqiqətən bu siniflər nə müəyyən olacaq edir.
Çox bizim. C faylları kimi, biz funksiyaları üçün həyata keçirilməsi təmin edilir.
Inside bizim. M fayl biz burada demək olacaq nə funksiyaları bütün
onlar hər şeyi mənim sinif nə daxilində.
Və nəhayət, daxili bir struct biz bu qıvrım aşırma daxilində demək olar
int n və ya node * növbəti,
və Objective-C, biz, söz @ mülkiyyət istifadə etmək olacaq
və bu, xassələri müəyyən olacaq nə
və ya siniflər bir hissəsi olan qeyri-fəaliyyət göstərir.
>> Objective-C funksiyaları Zəng da bananas edir.
Biz C funksiyaları elan edərkən biz int foo kimi bir şey dedi
və sonra paren açıq və arqumentlər bir siyahısını verdi.
Bu üsulları və ya funksiyaları elan Objective-C kimi görünür.
Mən bir funksiyası və ya bir üsul bəyan istəyirsinizsə
Mən üsul dedi alıram yerləşir, həqiqətən, bir sinif bir üzvü yalnız bir funksiyası
əvəz cür deyil, həqiqətən, belə ki,
içərisində mənim metodu mən yeni üsul yaratmaq istəyirik.
Bu heç bir şey geri olacaq, buna növü qüvvədən düşmüş olacaq.
Bu mənim funksiyası qaytarılması növüdür.
-Çünki bilmirəm İndi biz burada parens var.
Sonra, mənim funksiyası adı olacaq
və sonra nəhayət biz yalnız biz C. idi kimi nöqtəli vergül var
Burada yeni burada bu oğlan edir.
Bu tire həqiqətən vacibdir, və nə deyir ki,
burada bu üsul bir sinif bir misal çağırıb olmalıdır.
>> Biz structs elan sonra yəqin ki, bir şey kimi,
struct node n, və həqiqətən yaratdığı
Mən, həqiqətən, iş başlamaq ki və ya structs biri instantiated
onun daxilində nə ilə, bu tire biz o deməkdir ki,
yalnız biz instantiated kimi sinif instantiate ki struct
ona bu metodu zəng bilər.
Mən üsulları dəlillər əlavə başlamaq istəyirsinizsə
daha bananas olur.
Burada mənim metodu adı var.
Sonra bir nöqtə var gedirəm və bu kolon sonra burada deyir bəzi dəlillər gəlir.
Bu üsul bir mübahisə edir.
Onun dəlil növü bir int və arqument adı
və ya metodu daxilində istifadə gedirəm ki, dəyişən i adlanır.
Yenə bu metodudur. Bu, bir arqument edir.
>> Daha çox dəlillər əlavə başlamaq istəyirsinizsə daha bananas alır
ki, biz burada deyir ki, bu nöqtə arqumentlər mənim siyahısı gəlir var.
Bu ilk arqument bir tamsayı edir.
İndi bu ikinci arqument maraqlıdır.
Mən funksiyası daxilində istifadə gedirəm ki, dəyişən
belə daxili mənim funksiyası deyə bilər, f adlanır
f + = 1 və ya bir şey.
Burada Bu şey əsasən ki, dəlil və ya parametri üçün bir açardır.
Biz əsas dəyər cüt idi və JSON və ya assosiativ seriallarda kimi bir şey kimi
Objective-C, həqiqətən, açıq-aydın yalnız, belə ki, tamam, demək qərar
Bütün bu parametrləri nə üsulu zəng zaman
Mən, həqiqətən, onlara bütün adını gedirəm.
Bir üsulu zəng zaman, həqiqətən, andFloat demək lazımdır
və sonra siz onu da keçmək lazımdır
>> Maraqlıdır ki, bu, adlı, lakin digər parametrlərin bütün deyil
biz 3-cü dəlil olsaydı mən andFloat deyə bilər
və başqa float və s.
Mən bu üsulları zəng zaman, əlbəttə bananas edir
Mən bir obyekt var və mən, foo adlı metodu müəyyən əgər
və mən foo açıq / yaxın parens söyləyərək zəng deyil, istədiyiniz
Mən bracket açmaq üçün gedirəm.
Burada mənim metodu adı var.
Mən bracket yaxın gedirəm və bu mən onu çağıran edirəm obyekti.
Unutmayın, bu metodlar bütün dərsləri ərzində mövcud
dərsləri onların daxilində müəyyən üsulları ola bilər çünki.
>> Burada özbaşına, bəzi sinif obyekti yaratdıq
və bu bunu üçün sintaksis edir.
Obyekt yaratmaq üçün 2 pillə vardır.
Ilk addım mən yer ayırmaq istəyirsiniz edir.
Bu malloc bərabər deyil. Biz artıq malloc demək yoxdur.
Biz m düşüb o alloc etdi və. M ilə. C əvəz.
Biz alloc bir şey sonra sonra başlamaq lazımdır.
Əsasən obyektlər yaratmaq zaman bir məntiq var isteyebilirsiniz
yaratdığı etdiyiniz zaman həyata ki, bir-u mənim dəyərlər keçə bilər
və ya kimi bir şey, bu init metodu əslində obyekt yaradır edir.
Biz ilk, biz C etdiyiniz kimi, yer ayırmaq
və sonra və ya bütün çox deyil bilər ki, bu başlamaq.
Sonra bir obyekt o bu şey qaytarılması edirik.
Bu texniki bir göstəricisidir çünki bir ulduz, burada var
lakin göstəricilərinə ki, Objective-C böyük bir müqavilə artıq deyil, narahat olmayın.
>> İndi NSObject adlanan bu sinif instantiated sonra
və bu, yalnız Apple bir təsadüfi sinif edir.
Biz bu instantiated etdik və indi bu sinif bir misal var
Bu obyekt o, belə ki, müəyyən əgər o deməkdir ki,
Bu metodlar Mən bu kimi onlara zəng bilər.
Eynilə, bir arqumenti ilə bir üsulu zəng etmək istəyirdi,
Bu bar üsulu belə ki, bir arqument edir
qux üsul, bu 2 arqumentlər edir: və burada baz edir.
Bu obyekt o bir funksiyası çağırır.
Mənada etmək?
Bu sintaksis mənada etməlidir, lakin növ üçün istifadə almaq.
>> OK, in Objective-C daxil ki, bir neçə şey haqqında danışaq
ki, mütləq C. daxil edilməyib
C biz növ, bu axmaq xarakterli serialların kimi strings ilə məşğul idi
və həqiqətən annoying var.
Objective-C bütün bizim üçün tikilmiş o var və bu, inşa edir
NSString adlanan bu sinif istifadə edərək.
Mən daha çox gizli sintaksis var bir NSString yaratmaq istədiyiniz zaman.
Əksinə biz @ "cs50" demək "cs50" deyərək çox
və bu yalnız Objective-C strings elan üçün sintaksis edir.
Bu unutmaq, belə deyil etmək çox asandır.
İndi, bir dəfə mən bu var, bu simli, lakin qeyd
həqiqətən yalnız bir obyekt var.
Dedim mən sinif instantiated deməkdir NSString,
başqası mənim üçün yazdığı NSString, deyilən
və onlar artıq bu barədə çox gözəl idi,
Mən bu üsulları zəng başlaya bilərsiniz.
Mən bu obyekt s üsulu uzunluğu zəng edin
o mənə simli uzunluğu geri olacaq.
Bu C. yalnız strlen kimi
Bu 4 qayıtmaq istəyirəm.
>> Eynilə, mən qayğı bilərsiniz başqa bir metodu bu characterAtIndex edir.
Bu simli s deyir ki, bir metodu
Mən sizə zeroth xarakter almaq istəyirəm
və bu, mənə karakter c qayıdacaqlarını
və həqiqətən asanlıqla Google edə bilər ki, bu üsullar daha bütün dəstə var.
Apple sənədlərin böyük və biz bir az ki nəzər lazımdır.
Bu strings var.
Biz də dəyişən ölçüsü seriallarda da tikilib
Biz bir sıra elan zaman C saxla
biz 5 elementlər, hekayə sonu var demək idi.
Biz JavaScript və PHP var zaman başlaya
elementləri əlavə və ya elementləri hərəkət kimi şeylər edir.
Biz Objective-C eyni edə bilərsiniz.
Normal C şəkildə bir sıra yaratmaq deyil
yenə NSMutableArray adlı başqa bir sinif var.
, NSArray da var
və bu əsasən bir sıra içine gedir.
Bu etmək istədiyiniz ilk şey mən ayırmaq istəyirəm deyir
yeni array üçün yer və mən ayrılması sonra
Mən sonra başlamaq lazımdır.
Yenə yalnız bu 2 metodları zəng.
İndi bu obyekt ki daxilində deməkdir
Mən orada boş array oturan var.
Mən bu seriala bir şey əlavə etmək istəyirsinizsə, mən addObject metodu zəng edə bilərsiniz.
Mən bir sıra obyekt əlavə etmək istədiyiniz və mən simli CS50 əlavə etmək istəyirəm.
Mən əksinə deyə bilərəm ki, aradan qaldırılması üçün istəyirdi istəyirəm
serialın üzrə birinci yerdə obyekt aradan qaldırılması və ya bir etiraz.
>> Mənada etmək?
OK, siz cür bu kvadrat mötərizə şey üçün istifadə almaq.
Yeri gəlmişkən, Apple kitabxanaların bir çox daxilində bu NS görəcəksiniz.
Bu NS həqiqətən Steve Jobs ilk şirkətlərdən biri olan növbəti addım üçün dayanır
o, həqiqətən kodu bir çox yazılı başladı və o
Mac OS X və digər məhsullarının bütün əsas növləri kimi,
və bu NS bu gözəl miras cür əvvəllər şirkətlərindən biri həyata bağırmaq deyil
geri Apple ilk başlanğıc idi.
Bu hər yerdə var.
Bir daha vahid Objective-C, məsələn nəzər salaq.
Burada XCode daxilində deyiləm.
Burada almaq üçün, ilk, App Store-dan yükləyə XCode
Mən, fayl burada getdi sonra bu qədər açıldı və
burada yeni, daha sonra layihəsi.
Mən yaratmaq istədiyiniz bütün bu variantları var ki, nə sonra,
və biz, daha sonra bu seçimləri nəzər lazımdır
ancaq bu, məsələn, çünki biz həqiqətən, hələ bir app üçün fikrində deyilik
Burada aşağı gəldi və mən Command Line Tool bildirib
və bu mən command line çalışır ki, bir app edir
biz C. qaçaraq olduğunuz kimi
Ki, mən bu layihənin yaradılmışdır necə, və indi mən burada deyiləm
bu fayl da ilk göz qoy, və bu olduqca tanış baxmaq lazımdır.
Mən int adı var. Dostuma argc, mənim digər dost argv var.
Və biz bu mənim ilk Objective-C tətbiqi üçün giriş nöqtəsi olduğunu görə bilərsiniz.
Burada biz indi bu iqnor edə bilər.
Bu əsasən bəzi yaddaş idarə heyəti ki, siz həqiqətən olacaq
heç narahat var.
>> Burada bu ilk blok baxaq.
Bu ilk line, mən Tələbə demək * Əgər alice = [[Tələbə alloc] init] nə ki?
Burada Bu ilk tələbə, bu yəqin ki, bir sinif edir.
Bu Apple yazdığı bir sinfi deyil, mən yazdığı bir sinif var.
Mən istəyirəm ilk şey, yeni bir tələbə üçün yerin ayrılması istəyirəm
və sonra mən onu başlamaq istəyirəm, bu mənə geri verir
Bu yeni tələbə obyekt və mən Alice adlı bir dəyişən bu saxlanılması alıram.
Ki, sinif haradan gəldi?
Yaxşı, burada sol tərəfdə bu mənim layihə daxilində müxtəlif faylları bütün var.
Biz bir Student.h və Student.m var burada görə bilərsiniz.
Mən hər şeyi bəyan etdiyi. H fayl, unutmayın ki,
ki, sinif daxilində mövcud olacaq.
>> In ki, nəzər salaq.
Bütün hüquqlar, burada biz bu @ interface var və bu, burada gəlir deyir ki,
mənim sinif ərzində mövcud olacaq ki, hər şey bəyannamə.
Sonra bir nöqtə var. Sonra bu NSObject şey var.
Bu nöqtə biz bir az əvvəl müzakirə edilmişdir ki, miras bit bildirir.
Bu deyir bir NSObject edə bilər hər şey
NSObject başqası tərəfindən yazılmış bu sinif, olduğu
Bunu etmək istəyirsinizsə bu NSObject edə bilər hər şey.
Deyərək By: NSObject ki, mən əsasən deməkdir
başqa sinif funksionalığına bütün miras qalmışdır.
Bu, həqiqətən mənə istifadə edə bilər ki, müxtəlif metodları və xassələri bütün dəstə verdi.
Down burada 2 xassələri yaradılması edirəm.
Bu struct əgər mənim tələbə deməkdir ki, bu 2 şeyi olacaq
içərisində mənim struct ki, belə hər tələbə bir adı var
ki, bir simli və bir tələbə də bir sinif var
bir int edir.
>> Nəhayət, aşağı burada mənim tələbə üçün bir üsul yaratmaq üçün gedirəm.
, Mən initWithName, mənim metodu adlanır və bir mübahisə edir
və mübahisə bir simli və mən bu adı çağırdı.
İndi biz, həqiqətən, bu sinif həyata necə baxaq.
Burada indi mən. M fayl daxilində deyiləm
həyata keçirilməsi üçün m, hərhalda.
Mən son mənim həyata var və mən, həqiqətən, müəyyən edirəm burada deyil
nə initWithName edir.
Mən initWithName, mənim parametr adı, bu var
Mən, həqiqətən, bir tələbə yaradılması alıram yerləşir ki,
və bu bir az sirli, lakin bu boilerplate növü
Siz inşaatçılar daxil etmək istəyirəm ki,.
Burada Bu başlatma funksiyası, initWithName, konstruktor bir növüdür.
Siz əsasən yeni tələbə obyekt inşa edirik
və bəlkə daxilində bəzi data göndərilməsi.
Mən istəyirəm ilk şey mən bu super şey init zəng istəyirəm.
>> Xatırla ki, mən. H faylı geri burada dedi
hər şeyi bir NSObject bir tələbə də var.
Yəni nə də nə etmək lazımdır bir tələbə yaratmaq zaman deməkdir
əmin olun ki, mən ki, data bütün devralma edirəm ki NSObject
da düzgün başlatılmış olunur.
Mən demək lazımdır bu super əslində ana sinif müraciət gedir
Mən devralma edirəm ki, mən başlamaq əmin etmək istəyirəm
Mən bunu istifadə etməyə çalışırıq başlamaq əvvəl mən asılı deyiləm ki, hər şey.
Ki başlatılmış Əgər doğru bu yalnız deyən kimi əgər malloc
null qaytarmayıb sonra bəzi xassələri qəbulu başlaya bilərsiniz.
>> JavaScript və PHP biz bu söz, bu çağırmışdı
və bu sinif mövcud instansiya edilir.
Objective-C biz bu özünü çağırırıq.
Mən self.name deyəndə, o deməkdir ki, obyekt
Mən tələbə alloc init dedi Mən yaradılmış,
bir obyekt mənə geri vermək olacaq.
Deməkdir ki, mən ki, obyekt adı təyin etmək üçün istədiyiniz
Mən içəri keçib nə üçün
C kimi Sadəcə, biz bu dot üzvlərinin daxil
belə self.name tələbə obyekt adı deyir
İndi yalnız daxil keçdi nə olacaq
Mən, həqiqətən, bir şey geri almaq Bunu nəhayət, onu qaytara bilər.
>> Suallar?
OK, bu özünü = super, init
siz tamamilə miras stuff başa düşmürəm əgər narahat etmir.
Sadəcə bilirəm ki, Siz öz init metodu etmək istəyirsinizsə yalnız
Bunu, siz getmək üçün yaxşı olacaq.
Bəli. >> [Tələbə] Nə əgər özünü demektir?
Bu o deməkdir zaman malloc bu null bərabər, əgər biz həmişə yoxlanılır şey
bu null idi və sonra biz çıxış edib.
Bu gəlirlər null, onda biz yəqin seg günah olacaq, çünki bu, eyni şeydir
biz bu manipulyasiya etməyə çalışır başlamaq əgər.
Yəni bizim tələbə sinif var.
Biz iki yoldan biri bizim tələbələr başlamaq olar deməkdir.
Mən tələbə alloc init demək Əgər mən yalnız yazırdı ki metodundan istifadə deyiləm,
əvəzinə mən sadəcə, alice.name deyə bilərsiniz
və indi mülkiyyət adı təyin etmək üçün gedirəm.
>> Eynilə, mən initWithName metodu istifadə etmək istəyirsinizsə,
Mən sadəcə alloc demək, sonra daha çox init deyərək bilər
Mən yalnız yaratmışdır ki metodu zəng gedirəm, mən Bob keçmək gedirəm.
Bu nöqtədə, bu obyekt Bob Bob bərabər bir adı var.
OK, aşağı burada biz əvvəllər baxdı ki NSMutableArray kullanıyorum.
Mən yeni array başlatılıyor alıram space.Then ayrılması alıram.
Mən bu 2 şeyi əlavə etmək üçün gedirəm.
Bu array artıq tələbə obyektləri tutur.
Heç mən bu tələbələr bir sıra demək oldu Qeyd edək ki,.
Mən bunu bir sıra, müddəti var bildirib.
Sonra mən istəyirəm ki, bu nə daxilində bilər.
Burada 2 obyektləri var.
>> Nəhayət, mən burada, bu TF bir obyekt var.
Burada TF.h artıq əsasən eyni şey.
Mən NSObject, və yolu ilə devralma alıram
siz siniflər yaratmaq zaman bu sizin üçün edilir,
interface boilerplate bu cür.
Bu tələbələrin əmlak var.
Mən bir neçə üsulları burada həqiqətən bütün çox yoxdur ki, var
və mən bu TF obyekt yaratmaq sonra o deməkdir ki,
Mən bu kimi bu metodu dərəcəli zəng edə bilərsiniz.
Objective-C sintaksis haqqında suallarınız biz bir daha daxil hərəkət başlamaq əvvəl
maraqlı apps inkişaf stuff?
>> OK, belə nin əslində bir iPhone app edək.
IPhone app siz daxilində istifadə lazımdır ki, əsas sinifləri keçirmək kontrollerlər deyilir
və görünüşü nəzarətçi əsasən bir ekran təmsil
Sizin app daxilində, mən, məsələn, musiqi app Ben əgər
bir görünüşü nəzarətçi Mən iPhone bütün mahnıları keçirmək olan mövqeyini əks bilər.
Mən mahnı basın və ifa başlamaq zaman başqa bir görünüşü nəzarətçi ola bilər
və ya rəssamların daxil aşağı qazma alıram kimi.
O müxtəlif ekranlar hər bir müxtəlif görünüşü nəzarətçi kimi təmsil bilər
və görünüşü nəzarətçi həqiqətən bu ekran işləri necə deyir ki, yalnız bir sinif edir.
Məqsədi nəzarətçi daxilində Things, biz xüsusiyyətləri olacaq
bir düyməsinə kimi şeylər bizim fikrimizcə nəzarətçi mülkiyyəti olacaq.
>> Biz də üsulları var olacaq və bu, əsasən, hadisə işleyicileri var.
Bu üsul bu düyməsini basın zaman deyir
Mən, nəhayət, yenə bir şey etmək istəyirəm və
biz cari instansiya daxil olmaq üçün bu özünü söz istifadə olacaq.
IOS ilə interfeys yaratmaq üçün, həqiqətən, həqiqətən, həqiqətən asandır.
Onlar bu gözəl drag və Interface Builder adlı açılan interface
və 2 əsas anlayışlar ki, Objective-C Interface Builder tel
IBOutlet və IBAction var.
Bir IBOutlet sadəcə bir düyməsinə ki, bir əmlak bəyan əgər deyir ki,
və siz, faktiki UI bir şey onu bağlamaq istəyirəm
siz bir çıxış demək olacaq.
Eynilə, bir olay işleyicisi təmsil etmək istəyirsinizsə,
sonra bir hərəkət var demək olacaq.
>> Həqiqətən bu qrafik təmsil qədər tel
və kodu, həqiqətən, həqiqətən sadə.
Bir IBOutlet əlavə etmək istəyirsinizsə, Siz bütün, klik nəzarət edir
və bu, həqiqətən, hızlı bir misal görə bilərsiniz.
Məlumatlarına Controller deyir burada basın nəzarət.
Siz, əksinə interfeys daxil sürükleyin gedir, ya edirik
bir hadisə handler bağlamaq istəyirsinizsə, siz interfeys sürükleyin olacaq
digər istiqamətdə.
Bir həqiqətən sadə iOS Məsələn nəzər salaq.
>> Üzrə yeni layihə yaratmaq edək.
Mən tətbiqi üçün bura gəlib gedirəm
və mən Subay View Application basın gedirəm.
Mən növbəti basın gedirəm. Mən layihənin adı verəcəyik.
Mən bunu Xoşgəldiniz zəng edəcəyik.
Maraqlıdır ki, Apple bir məhsul oluşturuyorsanız tutur
ki, siz onu sata bilər və onlar pul edə bilərsiniz.
Down burada bu iPhone app edir ki, gedirəm.
Siz iPad app yarada, və ya bu apps biri yaratmaq istəyirsinizsə,
ki, siz də bunu edə bilər, həm də cihazları dəstəkləyir.
Bu sizin checkmarks kimi baxmaq istəyirəm nə.
>> Biz sonra göreceksiniz storyboards, istifadə etmək istədiyiniz
və siz mütləq, avtomatik arayış hesablanması istifadə etmək istədiyiniz
olan malloc və pulsuz demək olan engelleyen bir gözəl xüsusiyyətidir.
Siz malloc və pulsuz zəng etmək istədiyiniz halda, bu Checked tərk edəcək.
Mən İrəli düyməsini basın lazımdır və bunu saxlamaq, istədiyiniz nəhayət, bu mənə sual edir.
Mən yaratmaq təşkil edəcəyik və biz burada gedin.
Yeni bir layihə yaratdıq.
Burada sol ərzində mənim layihə daxilində olan bütün faylları var,
və mən bütün dəstə var ki, qeyd, mən heç bir şey belə olmadı.
IOS böyükdür.
>> Məsələn, burada bu ViewController.h,
Bu, mənim ilk görünüşü nəzarətçi təmsil edir
Mənim app daxilində ilk ekran belə.
İndi biz bu söylədiyini bilirik.
Biz, bu sinif ViewController zəng edirəm deyərək edirik
və ViewController bir UIViewController ki, hər şey
və bu, yenə Apple üçün bizə lazımlı məhsullarının bir çox ki, yazırdı ki, bəzi sinif
ekran keçirmək istəyirəm.
Mən, həqiqətən, mənim fikrimcə, nəzarətçi nə müəyyən edə bilərsiniz burada deyil,
və mən, həqiqətən, bu, hər hansı bir ehtiyac yoxdur çıxır.
Bu Apple pulsuz üçün mənə verir boilerplate kodu.
, Mən ilk lazım idi, və ya bir sinif yoxdur
belə ki qurtarmaq və bu xilas edə bilər.
OK, belə ki, bu, mənim boş ekran.
>> İndi, bu MainStoryboard.storyboard basın bildirin
maraqlı almaq başlayır və bu.
Bu, mənim app ilk ekran təmsil edir.
Mən bir düğme əlavə etmək istəyirsinizsə, HTML bir düyməsini tag yaratmaq idi.
Android siz bir düyməsinə tag yaratmaq üçün
lakin iOS Mən yalnız sağ alt burada enmək əgər
Mən burada bu 3-cü bir basın əgər və bu obyektləri deyir yerləşir
və mən aşağı diyirləyin və ya mən düyməsini üçün axtarış başlaya bilərsiniz.
Mən, həqiqətən, bu doğru sürükleyin və açılan belə, əgər, bir düyməsinə baxmaq
Mən yalnız mənim app bu ekran bir düğme əlavə etdik.
Mən mətn dəyişdirmək istəyirsinizsə, mən ikiqat, bu basın
bir şey kimi tamahlandırıcı demək "Mən basın."
Bu app run əgər OK, indi, biz, bu tərtib
belə çalıştırmak üçün mən üst sol oynat 'düyməsinə basın və app var.
Mən bir şey etmədim və Mən şirin axtarır iPhone app var.
Mən bunu dayandırmaq istəyirsinizsə, siz stop düyməsini basın
daha fun çünki.
>> Gəlin Mən, həqiqətən, Mən bu düyməsini basın zaman nə bir şey istəyirəm ki, deyirlər.
Nə etmək lazımdır Bunu etmək üçün mən yaratmaq lazımdır
Yeni hadisə handler və ya fəaliyyət.
Yəni mən adlandırmaq istəyirəm ki, bəzi metodu yaratmaq lazımdır o deməkdir ki,
Mən düyməsini basın zaman, belə üzrə yeni üsul yaratmaq imkan verir.
Mən ViewController.h daxilində deyiləm.
Mən bir üsul var ki, demək lazımdır.
Mən görünüşü nəzarətçi bu zəng üçün gedirəm, çünki mən ilk bir tire lazımdır.
Mən bu növü vermək lazımdır.
Bu növü daha əvvəl gördüm ki IBAction şey olacaq.
Bu hadisə handler edir, bir IBAction qayıtmaq olacaq belə
və bu ki XCode bir ipucu edir
bu mən bir şey tel istədiyiniz şeydir.
Mən buttonPressed, nöqtəli vergül kimi, bir ad verə bilər.
>> İndi mənim sinif daxilində yeni üsul elan etdik.
Mən bu metodu mövcud malikdir etdik.
İndi ViewController.m daxil bildirin,
və bu üsul nə deyək.
Mən yazmağa başlayın varsa, məsələn, (void) buttonPressed
bildiriş XCode həqiqətən gözəl və mənim üçün autocompletes.
Bu, həqiqətən gözəl deyil.
Edir. M fayl daxilində mən də etibarsız deyə bilərəm ki, burada edək,
ki IBAction həqiqətən bir növü deyil, çünki bu.
Bu, faktiki olaraq, bir boşluq olması haradasa müəyyən hashtag oldu
və yenidən, bu, yalnız deyir ki, XCode bir ipucu edir
Mən bu hadisə handler olmaq istəyirik və nə yalnız ikinci görəcəyik.
Bu düyməni basdı zaman mən annoying bir şey gedirəm
bir popup göstərmək istəyirəm.
>> Mən UIAlertView adlanan bu sinif yeni instansiya yarada etmək üçün,
və bu Apple annoying öz-up'lar keçirmək olacaq yazırdı ki, bir sinif edir.
Biz bu popup alert zəng edəcəyik, mən 2 addımlar var, bu obyekt yaratmaq üçün, xatırlayıram.
Mən nə etmək lazımdır ilk şey yer ayırmaq deyil.
Mən UIAlertView istəyirəm.
I yer ayırmaq istəyirlər. Bu mənim ilk üsul var.
Mənim növbəti üsul, onu başlamaq istəyirəm
və mən initWithTitle adlanan bu böyük, Uzunmüddətli üsulu var.
Bu əsasən bu popup deyir nəzarət olacaq.
Mənim popup adı salam ola bilər.
Bu up mesaj ola bilər "Bu iOS edir."
Nümayəndəsi şey, mən nə bilmirəm.
Gəlin bu heç bir şey deyirlər.
İndi görünür olacaq ki, düyməsini "Bu, əmin deyil" kimi bir şey demək olar
və mən, həqiqətən, hər hansı digər düymələri istəmirəm, belə ki, silin və bracket yaxın bildirin.
>> OK, əlavə bir yaratmışdır. Biz də gedin.
Bu yeni popup yarada necə.
Mən, həqiqətən, popup göstərmək istəyirəm, mən şou metodu zəng etmək istəyirəm.
Mən alert və şou deyə bilərəm ki, nə üçün,
və yenə AutoComplete super gözəl idi.
Mən yalnız s çap ki, əgər nə unuttum Əgər
Mən bunu nə anlamaq üçün burada vasitəsilə hərəkət edə bilər
və gözəl filtreler.
İndi bu yeni popup yaratmışdır.
Biz sonra nümayəndəsi nə deməkdir qayıda bilərsiniz
və indi mən bu metodu atəş olmaq istəyirəm demək istəyirəm
Mən düyməsini basın zaman, mən eskizlərinin qayıtmaq gidiyorum belə
və mən indi bu IBAction əlavə etmək istəyirəm.
Siz istədiyiniz ilk şey düyməsini basın.
Mən bu düyməsini basın zaman mən nə bir şey istəyirəm.
Mən nəzarət basıb saxlayın gedən deyiləm.
Mən basın və düyməsinə sürükleyin gedirəm
burada yerləşir onu Məlumatlarına Controller deyir.
Biz bu gözəl qədər işıq olduğunu görə bilərsiniz.
>> Mən siçan ilə gedək, mən bəzi variantları var mən indi burada bu popup var.
Bunlardan biri mən qeydiyyatdan olar ki, hadisələr deyil.
Bu mənim h fayl IBActions kimi elan o üsulları vardır.
Bu, XCode nə az siyahısı görünür bilir necə
belə ki, yalnız bir işarə var.
Mən bərk düyməsini basın varsa, indi hadisə handler qeydə etdik.
JavaScript biz Mən hadisə handler qeydə bəzi kodu demək idi.
Objective-C, həqiqətən, asan idi.
Mən bu çalıştırıyorsanız
İndi düyməsini basın zaman mənim hadisə handler, yanğın davam edir
və bu popup almaq üçün gedirəm.
Orada Super, super sadə.
>> Əgər qeydiyyatdan baş verən hadisələr bütün görmək istəyirsinizsə
komponenti mən bu düyməni basın əgər
və mən sağ üçün bura gəl
ilk, mən düyməsinə növü kimi şeylər edə bilərsiniz burada görə bilərsiniz
o I və ya əlavə contact button biri mənə əgər
və ya hər hansı.
Mən bu düyməni olan hadisələr bütün görmək istəyirsinizsə
Mən sağ burada bütün yol gəlib əgər
biz bu müxtəlif tədbirlər bütün hadisələri burada görə bilərsiniz.
Mən tap ikiqat və ya hər zaman düyməsini gidelim zaman, 'düyməsinə basın bilərsiniz
və yalnız qeydə biri, bu hadisə Inside Touch Up adlanır
və bu kimi tezliklə mənim barmaq 'düyməsinə off gəlir kimi deyir ki,
Bu tədbirdə yanğın gedir və dəqiq yalnız nə var.
Bu default düyməni basdı hadisə növüdür.
>> Hər hansı sual, bu günə qədər?
Okay ki, biz kodu şeyi tel başlaya bilərsiniz necə
bizim interface daxilində şey daxil.
Biz idi ilk şey, kodu tapmaq idi saxla
və sonra biz kodu interfeys qədər simli
və bizim ilk app var.
OK, həqiqətən sərin idi və biz bu düyməni yaratmışdır.
Biz əgər xassələri bir dəstə yaratmaq üçün mənə nə
Bu düymələr təmsil?
Məsələn, Tic Tac ucu mən, 9 düymələri var
və 9 dəfə sürükle üçün super, super annoying olarıq
və ya 81 Tic Tac Toe etmək əvəzinə 9 olsaydı
və mən sürükleyin və 81 dəfə düşmək idi ki, topal deyil.
Biz əvəzinə edə bilərsiniz çox bir HTML kimi
biz kimlikleri və adları kimi şeylər idi və biz hər şeyi axtara bilər
onların ID tərəfindən tags adlı iOS bənzər bir anlayış var.
>> A tag sadəcə bir komponent üçün unikal ədədi tanımlayıcı.
Mən bu 0 tag var demək Əgər, misal üçün,
Mən bir düğme yaratmaq və 0 tag verir, və biz yalnız ikinci bunu necə görürsünüz əgər,
Hesab edirəm ki, düyməsini almaq istəyirsinizsə mən sadəcə mən zəng etmək istəyirəm deyə bilərsiniz
burada artıq obyekt üsul viewWithTag,
Məsələn, cari ekran təmsil edən self.view,.
Hesab edirəm ki, viewWithTag metodu zəng, mən tag 0 düyməsini geri çəkmək üçün gedirəm.
Binasının Tic Tac ucu bu nəzər salaq.
Birincisi, bu, mənim eskizlərinin edir.
Mən bu 10 UI düymələr yaratdıq.
Onlar bütün eyni ölçüdə istəyirik edək.
Mən bu bir basın və mən bu sağ burada qayıtmaq edin
siz, mən burada font düzəlişlər, mən bir az böyük font etdi görürsünüz
lakin mən də nə mən bu tag müəyyən idi.
Mən bu 1 tag var ki, və sol üst edir.
>> İndi mən başqa düyməsini basın varsa, burada bu ikinci biri kimi,
İndi mənim tag 2 olduğunu görəcəksiniz.
Bu düymələri hər yalnız unikal tag var
və bu sonra necə əlaqə başlamaq gedirəm edir
Mənim app ilə.
Bu, bir görünüşü nəzarətçi bütün daxili
lakin burada biz nə edir.
Biz burada 3 xassələri var.
İlk və son bir mənim heyəti dövləti təmsil edir.
Əsasən bu ilk bir Xs və Os olduğu təmsil bir sıra edir.
Bu, digər bir burada olan növbəsində bu bizə deyir.
Mən də burada bu şeylər var ki, görəcəksiniz.
Əvvəl biz xassələri elan zaman biz onlara bir ad və bir növü verdi.
Biz də burada bəzi əlavə məlumat verə bilər.
Bu ilk nonatomic deyir, bu nə deyir
əsasən yalnız bir şey heç bir zaman bu dəyişən daxil olmaq üçün çalışır olacaqsınız.
Siz, multi-yivli ki, daha kompleks tətbiqləri edə
və belə geri Not biz müxtəlif mövzuları idi
və müxtəlif sprites eyni zamanda müxtəlif şeyler bilər.
>> Ki, biz axtarır olacaq ki, bir şey olmayan halda, yoxsa
biz nonatomic demək əgər həqiqətən şeyi bir az daha sürətli etmək olacaq.
Biz də təyin güclü və ya zəif adlanan bu şey var.
Bu təyin yalnız bu standart bir növü olduğunu söyləyir.
Bu yalnız bir bool, çünki bu, bir obyekt və ya bir göstərici deyil
belə bool Objective-C daxil edilir.
Bu burada göstəricilər ilə xülya bir şey etməyə cəhd etməyin deyir.
Bu müntəzəm köhnə scaler var.
Güclü və zəif, bu zəif əslində deyir
Mən bu görünüşü nəzarətçi bir şey işarə etmək istəyirəm.
Mən, həqiqətən, ayrılması davam və ya bu özümü init deyiləm.
The interface builder, mən app çalıştırdığınızda, bütün başlatma idarə edir.
Mən zəif demək, o başqası bu yaratmaq olacaq deyir.
Mən güclü demək, bu, mən biri gedirəm deyir ki,
ki, bu board obyekt yaratmaq oldu
və belə burada mən burada daha çox üsulları var
Məsələn, yeni oyun düyməni basdı zaman üçün fəaliyyət,
digər düymələri hər hansı bərk zaman üçün fəaliyyət,
və Et Cetera.
>> Biz Tic Tac ucu məntiqi çox çox nəzərə almaq deyil
çox maraqlı, lakin edək nəzər baxmayaraq
biz iOS daxilində edə bilər ki, bəzi şeyləri.
Bu yeni oyun üsulu atəş olacaq
Mən yeni oyun düyməsini basın zaman.
Qədər mən sadəcə mənim eskizlərinin artıq gəlib ki, çəngəl.
Yeni oyun tıklayan.
Mən sağ buraya gəlmək varsa, mən görürəm ki,
Bu newGame metodu simli edir Inside Up Touch.
Bu atəş almaq üçün gedir görə.
Bu newGame üsul bir set up etmək niyyətindədir.
Mən siz board dövlət təmizləmək istəyirsiniz olacaq.
Bu mutable seriallarda bir gözəl üsuldur.
Bu, artıq X öz növbəsində demək gedir
və indi bu viewWithTag şey istifadə etmək gedirəm.
>> Mən düymələr tags 1-9 var bilirik ki,
və mən özbaşına seçilmiş bir şey var.
Mən boş hər bir düyməsinə mətn qurmaq istəyirsinizsə
Mən yalnız bir yeni oyun açılmış və hər hansı istəmirəm, çünki
Mən bunu edə bilərsiniz artıq Xs və ya Os yola düşəcək.
Mən etiketi baxımından, 1, 2, 3, 4 Et Cetera mənə deyə bilərsiniz.
Bu müxtəlif düyməsini hər dəfə çəkəcəyəm.
Burada UIButton üçün tökmə gedirəm.
Biz üzüb gedirdi və əksinə ints tökmə bilər kimi
bu bir UIButton bu salmaq istəyirəm ki, deyir.
Deməkdir ki, bu cür UIButton * olacaq
çünki göstəricilərinə, amma narahat olmayın, onlar artıq qorxudan deyilik.
>> Sonra mən bu üsulu zəng gedirəm bu düyməni var.
Bu üsul setTitle forState adlanır və bu deyir olunur
Mən boş string olmaq düyməsinə mətn qurmaq istəyirəm
və mən onu bərk deyil zaman boş string olmaq istəyirəm.
Mən bu metodu istifadə edirəm, mən düyməsinə mətn dəyişə bilərsiniz
kimsə edib, ancaq 'düyməsinə yalnız orada oturan zaman demək istəyirəm kimi
Mən mətn boş olsun.
Nəhayət, biz, mənim board başlamaq olacaq
və mən, hər şey 0 hazırda demək gedirəm
Bu board belə üzvləri dəyişməz bir mutable array edir
olan I addObject üsul və yalnız bir 0 daxilində zəng edə bilərsiniz deməkdir.
Mən yeni bir oyun yaratmaq zaman nə baş var.
>> Nin başqa bir nəzər salaq.
Burada Bu üsul bərk olacaq ki IBAction edir
hər dəfə bu meydanların bir bərk.
İndi bəzi Tic Tac ucu məntiq burada var.
Biz onun öz növbəsində edir anlamaq
və biz bir X və ya O müəyyən əsaslanır
lakin biz bu eyni hadisə handler yeniden edirik ki, görürsünüz
o düymələri hər bir bir.
Mən üst sol düyməsini bir üsul yoxdur ki, deməkdir ki,
Mən aşağı sağ düyməsini üçün müxtəlif üsul ki, görülən bilər baxmayaraq.
Bu həqiqətən yaxşı dizayn deyil.
Mən burada yapýyorum Mən, həqiqətən, müəyyən gedirəm edir
bərk ki düyməsinə tag edir.
Bu oyun metodu bir mübahisə edir ki, görürsünüz.
Bu göndərən deyirlər və nə göndərən göndərən gedir edilir
dəqiq zaman tədbirlər nə təmsil edir.
Mən bir düyməsini basın, bu göndərən ki UIButton olacaq
Mən, həqiqətən, bərk ki, o deməkdir ki, ki UIButton
Mən tag yaradılmışdır çünki tag var.
>> Mən tag əldə etmək istəyirsinizsə, mən sadəcə demək olar
Mən göndərən tag istəyirəm
və yenidən, mən yalnız bir UIButton üçün casted etdik.
Mən göndərən bir UIButton olacaq bilmək baş verir.
Bu həmişə UIButton olmaq deyil.
Mən, məsələn, eyni olay işleyicisi qeydiyyatdan bilər
bir düyməsini bir kaydırıcıyı üçün bir biri üçün.
Bu halda, onlar bütün düymələri olduğunu biliyorum, mən demək gedirəm
Mən bu bir düyməsinə olmaq istəyirəm, sonra mən tag əldə edə bilərsiniz
və tag mən indi board daxilində am yerləşir bilirik.
Mən sadəcə X və ya O, öz növbəsində flip bilər, ya bilərsiniz
, et Cetera qalib olan edin.
>> Bu günə qədər hər hansı suallar?
OK, biz online-biz çox almaq istəmirəm olunub bütün kodu
bu Tic Tac ucu məntiq, indi siz həqiqətən bilərsiniz
biz edirik bütün, biz bu sıra artıq loop edirik ki,
biz burada loops üçün bir neçə var, və biz yalnız görmək karşılaştırdığınızdan
biz bütün satırlar, belə bir sütun və ya bir şey bir matç matç var.
Mən bu düymələri bir kran əgər həqiqətən bu app çalıştırmak üçün
ki, oyun üsulu atəşə tutulmuşdur, yalnız müəyyən deməkdir ki,
düyməsini bir X olmaq, belə ki, indi bu düyməni bir O olmaq və s edəcək
və belə ki, bu bir səhifə app ilə qarşılıqlı başlayaraq edirsinizsə bilərsiniz.
>> Biz kodu yazmaq lazımdır ki, diqqətlə oxumaq çekinmeyin
amma indi yalnız bir səhifə daha çox bəzi apps haqqında danışmaq edək.
Tic Tac ucu kimi maraqlı iOS daxilində, apps bir çox idi
Bu qazma cür çox ekranlı şeyi aşağı edir.
Biz danışmaq lazımdır ki, ilk anlayış, protokollar var
və protokol sadəcə üsulları bir sıra
siz müəyyən söz bilər.
I 2 metodları ilə bu yeni protokol, bu ilk bir yaratmaq, əgər
qaytarılması növü etibarsız olduqda, bu foo çağırıb.
Bu arqumentlər heç edir. Mən başqa bir metodu var.
Bu int qaytarır. Mən bu bar adlanır və bir mübahisə edir.
Bütün bu protokol, burada SomeProtocol qədər deyirlər ki,
bu kimsə həyata keçirə bilər şeyi bir sıra var.
Mən daxilində bu protokolun foo nə bildirib yoxdur.
Əksinə, mən yalnız istəyirsinizsə foo müəyyən edə bilər deyərək alıram.
Mən bir görünüşü nəzarətçi yaratmaq və ya bir sinif yaradılması alıram edin
Mən daxili ki, sinif vəd həyata bilər
bu metodlar, bəzi, belə ki, məsələn, əgər demək
indi mən sizə vəd edilməsi alıram deyir, daxili ki,
Bu baxımdan nəzarətçi sinif I foo və bar üçün anlayışlar var.
>> Niyə faydalıdır?
IOS daxilində komponentləri bir çox bu istifadə etmək
dizayn model nümayəndə heyəti adlanır və nümayəndə heyəti nə deyir
ki, məsələn, bir mətn qutusuna varsa
və mətn qutusuna daxilində qeydiyyatdan ola bilər ki, bəzi hadisələr var
deyil, mən nə edə ayrı-ayrı hadisələr yaratmaqdan deyə bilər
Bu mətn qutusu nümayəndəsi bir obyekt olacaq.
Mən indi bir nümayəndə ki, o deməkdir ki,
bir hadisə, mətn qutusuna atəş olardı zaman
daha çox və ya bu kimi bir şey qeydiyyatdan olan
yalnız nümayəndəsi bir üsul zəng edəcək.
Məsələn, içərisində mənim metin qutusu Mən basın zaman üçün bir üsul var
ki, sağ alt 'düyməsinə işlər
və belə daha çox deyə bilərəm nə hadisə handler olunur qeydiyyatdan
mətn qutusuna, burada sizə bir metodu zəng etmək üçün istədiyiniz bir obyekt
hər dəfə kimsə presleri görülən düyməsini
və ki, obyekt bir protokol həyata keçirilməsi o deməkdir ki,
Mən ki, görülən düyməsini fəaliyyət müəyyən söz deyir
çünki bu metod müəyyən etmir və OK düyməsini basın varsa,
sonra confusing olacaq.
>> Nin Məsələn nəzər salaq.
Burada sadəcə, bir mətn qutusuna var
və bu sağ burada bu mətn qutusuna xüsusiyyətləri biri nümayəndəsi deyil.
Bu sinif bir mülkiyyətidir.
Mən burada idi mən tıkladım nəzarət və mən burada bu yerdən sürüklənəcəklər
görünüşü nəzarətçi və bu mətn qutusu nümayəndəsi deyir
görünüşü nəzarətçi olacaq.
Bəzi tədbirlər baş deyil, qeydiyyata çox zaman deməkdir ki,
Mən sizə nümayəndəsi onları göndərmək istədiyiniz ayrı-ayrı hadisə işleyicileri.
İndi mənim fikrimcə nəzarətçi nəzər salaq.
Edin. H fayl daxilində bir söz etdik.
Mən bu protokol daxilində bəzi üsullarını tətbiq vəd etdik
UITextFieldDelegate və yenə adlı
bu yalnız mən həyata seçə bilərsiniz ki, bəzi bəzi şeyləri siyahısı.
>> Mən. M faylı buraya, mən belə bir üsul tətbiq edir.
Mən bunu textFieldShouldReturn aradıktan
ki, protokol daxilində adlanır nə çünki.
İndi ki, mətn sahəsində görülən düyməsini basın zaman içərisində
bu deyilən almaq üçün neler, belə bir hadisə handler qeydiyyatdan vermədi.
Mən nümayəndə bağlı və bu hadisə atəşə zaman
bu mənim eskizlərinin üçün buraya gəlmək və run əgər adlı almaq ki metodu it-
ki, yükləmə var, biz bu nə görə bilərsiniz.
Mənim ekranda I 2 şey var.
Mən bu mətn sahəsində var və mən bu etiket var.
Mən sadəcə mən bu etiketin mətn mənə dedi alıram
istifadəçi mətn sahəsində daxilində tipli nə bərabər olmalıdır.
Burada növbəti line sadəcə mən zəng edirəm ki, bir metodu
Mən sizə klaviatura gizlətmək istəyirsinizsə deyir ki, mətn sahəsində.
Bu yalnız Apple seçdi ki, ixtiyari metodudur.
>> Mən hər şeyi qədər tel idi bir şey idi əvvəl Yenə, mən ilk buraya gəldi.
Görünüşü nəzarətçi mən, mətn qutusuna üzərində sürükleyin.
Mən bu mətn sahəsində mülkiyyət edə bilər ki, gedək, mən burada görə bilərsiniz
artıq burada görünüşü nəzarətçi ildən əmlakın müəyyən etdik
bir mətn sahəsində bir IBOutlet edir.
Bu bu əmlakın qədər tel bilər ki, deyir
mənim UI bir mətn sahəsində.
İndi bu basın zaman yazmağa başlaya bilərsiniz.
Mən görülən düyməsini basın əgər İndi bu yanğın davam edir
Mən indi cavab verə bilər ki, bir hadisə.
No hadisə işleyicileri.
Mən yalnız həyata düyməsini cavab nasıl.
Mənada etmək?
>> Bu, siz heç özünüz tapa bilər bir dizayn model deyil
öz protokol yaradılması, ancaq bilirsiniz ki, bəzi
müxtəlif iOS komponentləri müxtəlif yollarla hadisələr qeydiyyatdan keçin.
Buttons, misal üçün, o IBActions istifadə edin.
Mətn sahələrində, digər tərəfdən, nümayəndə istifadə edir.
Biz görürük və sənədlərin qədər daxilində bütün baxa bilərsiniz.
Yeri gəlmişkən, sizin üçün iOS daxil UI məhsullarının bir ton, həqiqətən var
belə, məsələn, yol mən sağ alt görülən demək ki edib
Mən bu mətn sahəsində seçilir.
Mən buraya gəldi.
Mən, əsas qayıtmaq üçün bir az aşağı kaydırılmış
demək istəyirik ki, əgər kimi və mən, həqiqətən, bu şeylər bütün dəstə edə bilər
təcili yerinə mən tamamilə təsadüfi deyil ki, bunu edə bilərsiniz zəng
daxili təcili zəng düyməsini var niyə və mən bilmirəm
lakin, həqiqətən, kiçik hərflərlə təcili zəng deyir.
Burada getmək.
>> Əlbəttə iOS bu müxtəlif variantları bütün araşdırmaq.
Nümayəndənin hər hansı suallar?
Yine, xəbərdar olmalıdır ki, yalnız bir maraqlı dizayn model.
OK, növbəti masa views nəzər salaq.
A masa görünüşü əsasən bütün iOS yer üzərində öğeleri ki, siyahısı.
Sizin əlaqələrin bütün vasitəsilə Flipping olduğunuzda, siz aradığınız
qəbulu səhifə, və şeyi siyahısı belə bir masa görünüşü adlanır.
IOS bir masa baxımından həyata keçirilməsi olduqca sadədir.
Əvəzində ki UIViewController dən alçalır bir sinif edilməsi
biz sadəcə demək deyil lazımdır əvvəl biz etdik kimi
bir UIViewController mən nə istəyir hər şeyi,
Mən UITableViewController mən nə istəyir hər şey demək
ki, sadəcə tamamilə bizim üçün edilir ki, bəzi əlavə şeylər əlavə edir.
Biz əsasən masa daxilində blanklara doldurmaq üçün çox az etmək lazımdır.
>> Mən bəzi suallara cavab lazımdır masa keçirmək üçün.
Mən cavab lazımdır ilk sual cədvəldə nə çox bölmələr var?
Siz əlaqə app vasitəsilə Flipping etdiyiniz zaman bu cür olduğunu görəcəksiniz
bu kimi təşkil sonra pansiyonlar var və siz az sub mövzu var.
O hər bir hissəsində deyilir.
Siz ola bilər və ya bu lazım deyil bilər.
Siz nə etmək lazımdır ilk şey bir üsul tətbiq edir
numberOfSectionsInTableView: tableView çağırıb.
Bu sadəcə, siz nə qədər bölmələr qaytarır
bu bir böyük masa görünüşü varsa bir qayıtmaq demək bilər.
IOS bilmək lazımdır ki, növbəti sual necə çox satır var edir?
Məsələn, bir masa görünüşü vasitəsilə Flipping edirik.
Siz geçirdiğiniz mahnıları sabit sayı və ya əlaqə sabit var.
Əgər, əlbəttə ki, çox deyil mənə etdiyiniz
və ki iOS Profilə neçə hüceyrələri bilir bilərsiniz.
>> Yenə bu qaytarılması 3 kimi bir şey deyə bilər.
Mənim masa görünüşü 3 satır var.
Nəhayət, iOS, hər bir hüceyrə kimi görünür nə bilməlidir
belə nə həqiqətən nə olacaq, aşağı burada bu metodu zəng edir
bu tableView: cellForRowAtIndexPath.
Bu masa daxilində hər bir hüceyrə bu metodu zəng edəcək.
Necə ki, bu, zəng etmək üçün necə dəfələrlə bilir?
Yaxşı, siz bölməsində satır sayı daxili bildirib.
Biz hüceyrələrinin hər bu zəng olacaq
həqiqətən kimi şeylər edə bilər və daxilində bu edir
mətn seçin və ya sağ tərəfində kiçik mavi düyməsini nə sizə.
Bu hüceyrələri almaq üçün model, bu metodu istifadə etmək olacaq
dequeueReusableCellWithIdentifier çağırıb.
>> Objective-C, onların üsulu adları gülünc uzunluğu üçün çox yaxşı tanınan əslində
və bu, həqiqətən baxımından nümunə bir gözəl haldır.
Bu nə bu metodu yoxdur, yalnız mənə bir hüceyrə vermək istəyirəm deyir.
Yalnız iOS şey.
Siz iPod 100,000 mahnısı kimi bir şey varsa,
nə iOS etmək istəmir 100,000 hüceyrələri ayırmağa edir
Əgər siyahı üst edirsinizsə, həqiqətən, yaddaş ayırmaq lazımdır, çünki
aşağı 99.000 satır ki, mobil üçün?
Xeyr, kaydırarak etdiyiniz kimi siz boyunca getmək kimi ayrılması cür ola bilər, çünki.
Bu sizin üçün edilir.
Siz ki, bütün axmaq icra heyəti narahat yoxdur.
Deyə bütün bu üsul dequeueReusableCellWithIdentifier zəng edir
Mən sizin üçün yeni mobil yaratmaq gedirəm lazımdır və bu, tamam, deyir.
>> Siz masa altında etdiyiniz və əgər Amma artıq bəzi hüceyrələr ayrılan sonra
həqiqətən, zaman tezliklə lazımdır fikrində deyilik ki, masa başında
Mən sizə yerinə yeni bir bölüşdürülməsi geri o biri vermək gedirəm
və bu gözəl performance aiddir.
Siz hüceyrələri özünüz ayrılması yoxdur.
Bu mobil geri vermək olacaq.
Bu sizin üçün bir hüceyrə obyekt qayıtmaq olacaq.
Sonra sizə bu şeylər edə bilərsiniz mobil obyekt var.
Siz mətn etiket adlanan bu əmlak ilə hüceyrə mətn bilərsiniz.
Siz sağ və ya digər təsadüfi stuff ki arrow əlavə edə bilərsiniz
bu digər əmlak accessoryType adlı və s və s.
>> Nin həqiqətən artıq bir masa görünüşü həyata nəzər salaq.
Mən bu layihə yaradılan zaman
deyil, bir görünüşü tətbiq deyərək dən Mən, həqiqətən, burada artıq gəldi
master-ətraflı tətbiqi, və əsasən bu mail app uyğun
sol masa keçirmək və sonra sağ məzmunu ilə iPad.
IPod və ya iPhone bu bir masa keçirmək üçün uyğun gedir.
Mən başlanğıc kodu var harada.
>> Ilk Kadr lövhəsindən nəzər salaq.
Bütün bu əsasən yaradılmış, mənim üçün həyata keçirilmişdir.
Bu navigation bar, nümunə hüceyrə kimi baxmaq nə mənə göstərdi
və mən ikiqat, bu basın adı dəyişə bilərsiniz.
Hər hansı digər UI narahatlıq orada idarə edə bilərsiniz.
Başlığı fayl həqiqətən sadə görünür.
Əksinə bu UIViewController olduğunu deyib artıq indi bu olduğunu deyib edirik
TableViewController, belə ki, biz bütün bu masa metodları zəng etmək istəyirəm ki, bilirik.
Mən təmsil etmək olur ki, bir əmlak yaratmaq istəyirik Sonrakı
mənim masa daxilində şeylər.
Bu cədvəl özbaşına Profilə gedir
meyvə siyahısı və mən bir sıra yaratmaq lazımdır
olan I meyvə əlavə edə bilərsiniz.
Mənim həyata fayl ilk şey Inside mən etmək istəyirəm
Mən bu seriala başlamaq əmin etmək istəyirəm edir.
>> Mən alloc init dedi mənim meyvə array yaradılmış,
və mən bunu digər 3-dən çox mübahisəli olan bir 4 şeyi əlavə edirəm.
İndi ölçüsü 4 bir sıra var.
Biz CS50 bu qədər sarsıntı edirik.
İndi ölçüsü 4 bir sıra var.
İndi mən, həqiqətən, bu suallara cavab başlamaq niyyətindəyik və alıram
Bu app yaratdığı bütün bu artıq mənim üçün həyata keçirilmişdir.
Mən masa baxımından bölmələr sayını yazın yoxdur.
Orada artıq idi və mən blanklara doldurmaq alıram.
Kaç bölmələr var?
Biri. Bütün edilir.
Mən neçə satır var?
Bəli, mən hər meyvə bir sıra var, belə ki, bu sayı
necə böyük deyir ki, hər hansı bir serialın bir əmlak var?
Yəni nə çox satır var.
Nəhayət, mən nə hər cell kimi baxmaq deyil demək lazımdır?
Mən dequeueReusableCellWithIdentifier demək gedirəm.
>> Yenə bu artıq mənim üçün yazılmışdır.
Mən bu özümə nə yox idi, mən geri almaq istəyirəm
Bu yer, bu mob.
Biz hər bir hüceyrə bu eyni metodu zəng unutmayın,
və burada bu arqument bu indexPath dəlil,
Mən daxil oldum nə sıra deyir
Burada indexPath.row aşağı demək edin
bu 0 olacaq, onda 1 olacaq, o, 2 olacaq və mən bilirəm belə bu
Hal-hazırda tapılanlar alıram nə mob.
Mən bu textLabel əmlak istifadə edərək mobil mətn qurmaq istəyirəm
mənim meyvə array daxilində getmək və almaq
Hər bir sıra müvafiq obyekt.
Bu simli deyil, mən indi müəyyən alıram
simli üçün mətn əmlak.
Mən başqa bir şey edə bilərsiniz.
Mən də hüceyrələrin hər bir hadisə handler üzv ola bilərsiniz
Mən bu hüceyrələrin hər kran belə zaman
bu didSelectRowAtIndexPath, bu, mənim üçün deyilən olacaq
belə sadəcə bu müəyyən İndi nə idarə edə bilərsiniz
daha mobil kran və zaman, biz mobil tapped olan keçən edirik
belə ki, bizim hüceyrələrinin bütün bu eyni hadisə handler yenidən istifadə edə bilərsiniz.
>> Yenə bu iOS mənim üçün edir bir şeydir.
Digər annoying popup göstərmək edək
sadəcə siz ki, bir şey bir şey seçilmiş deyir
sıra obyekt olacaq.
Mən bu çalıştırdığınızda, mən bu gözəl masa görünüşü gedirəm
Bu meyvə hər biri üçün bir sıra ilə, və əgər mən bir kran
o nə mənə deyir.
Mənada etmək?
Nin bir app bir az daha kompleks inşa edək,
siz pomidor seçilmiş tıklayarak kimi çox deyil.
Bu storyboarding haqqında gözəl hissəsi
yalnız fərdi Bookmark dizayn ekranlar kömək etmək niyyətində deyil olunur
bu da bizim bütün app sarmalamaq kömək olacaq
biz bina olacaq son app, bu gözəl idman xəbərləri oxucu
və buna çox ekranlar var olacaq və mən həqiqətən təmsil edə bilər
Kadr lövhəsindən bu çox ekranlar hər
və mən kiçiltmək və yüksək səviyyədə mənim app bilərsiniz.
>> Mənim eskizlərinin yeni bir element daxili yaratmaq üçün
bu Interface Builder daxilində həqiqətən sadə.
Mən bu başqa bir ekran əlavə etmək istəyirsinizsə, misal üçün,
Mən ilk, Apple çox sevir ki, pinch zoom ilə zoom edə bilərsiniz
və aşağı burada bir düyməsinə axtarmaq əvvəl
və bir düyməsini sürükle
Yeni ekran yaratmaq istəyirsinizsə, Mən, həqiqətən, yalnız sürükleyin və açılır
bütün görünüşü nəzarətçi, bu seçə əgər, burada üzərində çəkmək
hey, başqa ekran, və indi bu eskizlərinin faylı istifadə edərək,
Mən app daxilində ekranlar bütün bilər, mən zoom edə bilər
və onlar qarşılıqlı necə oldu.
Bu hələ qarşılıqlı deyil.
Bu 2 ekranlar qarşılıqlı olan yol münasibətləri müəyyən edir.
Siz əsasən, bu düyməsini basın zaman, bu ekran demək olar
Mən sizə bu yeni ekran üzərində uçmaq istəyirəm.
Deməkdir ki, arasında əlaqələr bu cür var
ilk ekran və ikinci ekran.
Siz əsasən ki düyməsinə ikinci ekran üçün arrow lazımdır
Mən getmək istədiyiniz bu düyməsini basın zaman ki ki.
Biz tıklayan və bu vasitələri müəyyən sürüklənəcəklər nəzarəti kimi
bu segues müəyyən eyni şey olacaq.
>> Biz nümunə görmək və biz, həqiqətən, keçid qarşısında olacaq
bir ekran digər iOS bu metodu zəng etmək üçün kifayət qədər gözəl
prepareForSegue adlanır və biz başlamaq bilərsiniz bu
bir app başqa data göndərilməsi.
Məsələn, biz baxmaq üzeresiniz əsasən bizə imkan verəcək
leagues və bölmələri tərəfindən beysbol komanda filter.
Mən bir liqa seçin, məsələn, mən keçid etmək istəyirəm
Mən bölmələrinin bütün bilərsiniz mənim növbəti ekran
ki, liqa və ya bütün müxtəlif qrupları.
Mən nə komanda siz göstərmək lazımdır ki, ekran göndərmək lazımdır.
Mən burada bu metodu istifadə etmək gidiyorum ki etmək.
>> Nəhayət, iOS yalnız bir təsadüfi nöqtəsi.
Siz məlumatın istəyirsinizsə əsas data adlanan bu şey var
hansı faktiki olaraq işləmək mürəkkəb növü.
Ayrıca, veri SQL istifadə edə bilərsiniz
ki, daha, ilə işləmək üçün daha çətin tərəfi gözəl lakin cür edir
lakin iOS də, əmlak siyahıları adlı bu həqiqətən sərin şeyi dəstəkləyir
və əmlakının siyahısının yalnız əsas dəyər cüt təmsil bir fayl.
Siz düymələri bir siyahısını müəyyən, və bu əsas bir sıra olacaq deyirlər.
Bu əsas əsasən edə bilərsiniz bir şey simli olacaq, və
JSON siz, bir əmlak siyahı daxilində edə bilərsiniz
və bu, həqiqətən, gözəl bizə data ilə işləmək üçün imkan verir.
Məsələn, mən yaratdığı bu Teams.plist var.
Yeni plist fayl yaradılmışdır və mən aşağı qazmaq bilər.
Bu lüğət, bu lüğət, bu, simlər var
və bu bir JSON sənədin gözəl qrafik təmsil edir
və ya əsas dəyər cüt yalnız bir set
və bu mənim app daxilində iş olacaq ki, data deyil.
>> Ilk buraya gəlsin. Biz indi daha çox faylları.
Amma ilk Kadr lövhəsindən üçün buraya gəlmək imkan verir.
Kadr lövhəsindən burada əgər mən zoom edə bilərsiniz out-
İndi bu mənim app axını olduğunu görə bilərsiniz.
Mən ilk bu ekran başlamaq üçün gedirəm.
Mən bu ekran aşağı qazmaq gedirəm
və mən bu ekran aşağı qazmaq gedirəm, və biz burada görə bilərsiniz ki, mən növ əgər
bu oxlar buradan burada gedən var ətrafında bu bir hərəkət
Mən bir az zoom əgər və mən arrow müəyyən yol idi,
və bu görünüşü nəzarətçi üzərində gəlsə,
və burada bir hüceyrə, ve siz mobil kran mən demək istəyirəm ki,
Mən sizə bir ekran üzərində uçmaq istəyirəm.
Mən sadəcə, nəzarət basıb saxlayın bilərsiniz
bir az üzərində hərəkət, nəzarət basıb saxlayın bu hüceyrə üzərində sürükleyin və gidelim.
>> Və burada biz istifadə etmək istəyirəm ki, keçid nə demək?
Siz push deyirlər ki, slayd şey istifadə etmək istəyirsiniz?
Siz altına qədər uçmaq istəyirsiniz?
Bu modal deyirlər.
Və bir dəfə mən bu bir basın, bu, mənim üçün bu arrow çəkmək olacaq
və mən, həqiqətən, mən qrafik bu düyməsini basın zaman nə olar ele olduğunuz deməkdir.
Mən, həqiqətən, bir ekran növbəti bir sürüşdürmək üçün hər hansı bir kod yazmaq vermədi.
Mən Interface Builder bu vizual daxilində müəyyən edilmişdir.
Mən bu arrow basın varsa, biz bu şey bir ad verdi ki, görürük.
Mən bunu showDivisions adlanır və bu bilirəm edə bilərsiniz, belə ki,
nə keçid haqqında baş və niyə yalnız bir Saniyə biz görəcəksiniz.
Yəni mənim app müxtəlif ekranlar qədər simli etdik bilərsiniz.
Bu bir düyməsinə, misal üçün, daha çox bir masa görünüşü olsaydı,
Mən növbəti ekran üzərində sürükleyin, düyməsini basın nəzarət edə
və mən naviqasiya şəkildə edə bilərsiniz.
>> Həqiqətən tez, biz MasterViewController gəlmək əgər,
daha, biz sadəcə şeyi bir siyahısını müəyyən olacaq
olan masa görünüşü göstərilir.
Burada mən ki plist fayl etmək istəyirəm dedi alıram
və mən sizə bir lüğət halına qədər yük istəyirəm
və bir dəfə siz lüğət var, yenidən həmin suallara cavab gedirəm.
Burada bölmələr sayı.
Biri, hər liqaya satır, hər bir hüceyrə mətn var
s birinci, ilk liqa, ikinci liqada və ya olmalıdır.
Nəhayət, mən, biz yalnız prepareForSegue adlı gördüm ki, bu metodu istifadə gedirəm
və bu mən basın zaman atəş olacaq ki metodudur
o satır biri və buna görə də ki, keçid Aktivləşdirmə
Mən oxları ilə müəyyən edir.
Bu çox ola bilər ki, deyib
bir ekran digər münasibətləri.
I 2 düymələri və hər düyməsinə müxtəlif ekran götürür edin
Mən hər düyməsinə üçün 2 segues, 1 üçün gedirəm.
Amma bu prepareForSegue təkrar istifadə olunacaq, təkrar edir
müxtəlif əlaqələr hər biri üçün, belə ki, bir yol lazımdır o deməkdir ki,
Siz ilk düyməsini basın və ya ikinci düyməsini basın əgər müəyyən edir.
>> Hesab edirəm ki, segue bir adı, bu showDivisions verdi zaman saxla
Mən indi bu aktivləşdirilmiş ki segue bilirik ki, necə.
Mən istəyirəm demək istəyirəm ki,
Mən yalnız edib nə anlamaq istəyirəm
və ki, almaq, mən Seçilmiş sıra üçün indexPath mənə deyə bilərsiniz
Mən yalnız tıklayan olduğu indexPath xatırlayıram yalnız deyir
və sonra mən gedirəm yerləşir anlamaq istəyirəm demək istəyirəm.
Bu destinationViewController ki, segue bir əmlak var.
Yəni, mən gedirəm ekran var
belə mən gedirəm ekran DivisionsViewController adlanır bilirik ki,
Hesab edirəm ki, sinif yaradılmış, çünki
və indi mən d.divisions demək əgər
Mən indi getmək haqqında Ben görünüşü nəzarətçi əmlakın müəyyən edirəm.
Bu bir ekran bir ekran data göndərilməsi alıram necə.
>> Məhz bu DivisionsViewController baxaraq
Burada görə bilərsiniz ki. h fayl
var ki, əmlak bölmələri və mən əsasən populating alıram nə
ki, mən müvafiq bölmələrinin tapılanlar edirəm ki, bilirsiniz necə
mən tıkladım və yenidən ki, liqada
faktiki masa görünüşü yalnız cavab olduqca çox eyni görünür
3 sadə sualları, habelə müəyyən
Siz növbəti ekran hərəkət zaman nə baş verir.
Burada başqa şeylər yalnız bir neçə.
Siz burada üst hiss ki, daha çox # daxildir söyləyərək
İndi # idxal dedi alıram.
Bu yalnız bir Objective-C şeydir.
Idxalı, əsasən daxil bir gözəl versiyası
və məsələn, biz bu sinif olduğunu bilmək lazımdır
Mən yalnız DivisionsViewController deyə bilmərəm.
Biz. C fayl standardio.c daxilində hashtag olmasaydı
derleyiciyi printf nə yox idi.
Eynilə, mən DivisionsViewController idxal olmayan
derleyiciyi həqiqətən DivisionsViewController nə heç bir fikir var.
Yalnız fərqli. M faylları daxilində siz idxal əmin olun əmin olun
müvafiq. h faylları belə compiler neler bilir.
>> Nəhayət, nə Apple nəhayət, bir web görünüşü istifadə bəzi data Profilə olunur deyil
və belə bir web görünüşü embed biləcəyi bir obyekt
Sizin app daxilində bir az web browser.
Siz nə etmək lazımdır Bütün web browser bir URL təchiz olunur
Mən, mlb.mlb.com getmək istəyirəm
və bu, mən hər komanda üçün ana səhifəsinə daxil edə bilərsiniz necə
və bu URL keçən ilə
, web baxımından mənim üçün bu bilərsiniz, və ətrafında baxa bilərsiniz
və simulator bir tərəfindən istifadə olunur.
İndi bu mənim plist gəldi.
Mən bu basın, bu da mənim plist gəldi və bu sürüşmə ele edilib
o segues müəyyən.
Mən bu basın və daha bir
və indi burada belə ki, yalnız kimi, mənim UIWebView edir
burada yalnız əlaqədar ki, URL üçün veb var
və Mən dəli bir şey idarə etmək yox idi.
Bu web page keçirmək üçün necə.
Burada bu geri düyməsinə kimi şeylər mənə də verilir
tamamilə pulsuz I segues istifadə edərək, bu əlaqələrin müəyyən etdik çünki.
>> Hər hansı sual? Bəli.
[Tələbə] Beləliklə, siz alloc istifadə edərkən, pulsuz bir şey heç vaxt?
Məhz, siz alloc və init zəng zaman onu azad etmək yoxdur.
IOS üçün ki, bütün idarə etmək üçün gedir.
Bu gözəl, və siz hər hansı bir qaydalarının pozulması deyilik. Bəli.
Siz ekranda uyğun ola bilər ki, daha çox qrupları daxil idi [Tələbə] Əgər
avtomatik olaraq əlavə etmək lazımdır ki, bir şey bir diyirləyin seçimi var, ya olacaq?
Mən daha çox komanda olsa Məhz, məsələn, avtomatik idarə ki,
Mənim üçün scrolling və bütün icra narahatlıq
böyük masa da mənim üçün tamamilə idarə olunur.
>> Digər suallar?
Bu kodu Bütün olunub olacaq.
Biz növ, daha kiçik detalları bir az üzərində cilalanacaq
lakin kimi şeylər web keçirmək üçün bəzi xassələri qəbulu
yalnız Apple sənədlərin gəzən ilə əldə edə bilər ki şeyi,
həqiqətən ki, həqiqətən gözəl salınmışdır.
Onlar nümunə apps çox və misal bulges var
müxtəlif API, belə ki, mütləq siz həmin diqqətlə oxumaq.
Yalnız bir faydalı bağlantılar nəzər edə bilərsiniz.
Bu bir lazımlı sənədlərin təlimatlar var.
URL'leri kütləvi var, onlar qısaldılmış edirik.
Bu ilk sənədlərin bütün kitabxana edir.
Az axtarış bar siz yazaraq düyməsini başlamaq əgər, var
siz bir düyməsinə ilə edə bilərsiniz bütün şeylər haqqında bütün məlumat verilməsi başlayacaq.
Mən də Cədvəl View program Guide daxil etdik.
Bu, daha çox ətraflı masa views emal
dinamik hüceyrələri və ya edit hüceyrələri əlavə və ya aradan qaldırılması kimi şeylər necə.
>> Necə ki, bunu sizə göstərir ki, Apple nümunə apps çox var
və nəhayət, bu son bir, İnsan Interface Təlimatları edir
və bu, əsasən UI komponentləri bəzi müzakirə edir
kimi şeylər 4 piksel 4 piksel ki, bir düyməsinə yoxdur.
Bu pis bir fikir var, və Apple nə istəyir ki, başqa şeylər
yaxşı dizayn təşviq etmək.
>> Hər keçən sualları biz başa əvvəl?
Bütün sağ, mütləq müzakirə xüsusi yazıları gedən-we're çekinmeyin.
Biz iOS bir lazımdır, belə ki, mütləq ki, istifadə çekinmeyin.
Siz layihələr sizin sinif yoldaşları ilə işləmək istəyirsinizsə
və ya bir təsadüfi iOS məhsulları anlamağa kömək
mənə e-poçt çekinmeyin, və mütləq bütün kodu online çünki diqqətlə oxumaq
yalnız vaxt maraq biz növ daha çox cilalanacaq
şeyi finer dənəvər ətraflı.
Lakin əgər, sonra yaxşı sizin iOS layihələr üzrə uğurlar, mən biz ümid
App Store apps böyük axını.
[CS50.TV]