>> Rhed SHI: Willkommen siehe CS50 Seminar -
Einführung in iOS.
Ich danke Ihnen allen für Ihr Kommen.
Ich hoffe, Sie sind genauso aufgeregt wie ich bin über iOS.
Letztes Jahr nahm ich CS50 als Sophomore, und ich im Grunde gelernt iOS für meine
Abschlussprojekt.
Und es war schön -
gut, es war nicht einfach, aber es gibt viel Unterstützung Tutorials online.
Und ich hoffe wirklich, dass mit diesem Seminar, gebe ich dir Jungs einen Kopf
beginnen auf iOS-Entwicklung
>> Also, in Bezug auf die iOS-Entwicklung, gibt es zwei Dinge, die wir
wollen heute zu decken.
Erstens, die Sprache -
die Sprache wird sich in sein Objective-C. Wir werden tatsächlich hören
etwas wirklich spannend.
So können Sie die ganze Apple bei Gemeinschaft von Entwicklern und bauen einige
Apps wirklich genial.
>> Auch iOS 7 ist schön, hoffentlich für einige von euch.
Aber es ist umstritten, ich weiß.
Und vor allem, was ich tun möchte, ist Führungs Sie durch Objective-C, und auch
Xcode, das ist der integrierte Entwicklungsumgebung, die du sein wirst
Arbeiten in für iOS.
>> Und so, nur ein Wort auf Objective-C. Im Grunde ist es genau das gleiche wie C,
aber mit einer Menge anderer Dinge.
Und so strenger, es ist eigentlich ein Super-Set von C. Also alles, was Sie
können jetzt in C, das ist im Grunde mag pset 0 bis 6, die Sie
kann in Objective-C zu tun.
>> Also, nicht das Gefühl, Angst, über diese neue Sprache, die Sie gehen zu lernen sind.
Sie haben schon eine Menge davon abgedeckt, weil Sie alles getan haben C am vergangenen
Semester, außer jetzt wirst du viel mehr, mit zu arbeiten.
Und ich bin gerade dabei, ein führen Sie durch paar Beispiele zu einigen markieren
der wichtigsten Unterschiede, die ich fand, waren wirklich wichtig, als ich erfuhr,
Objective-C im letzten Jahr.
>> Naja, eigentlich so, der andere Punkt ist, Objective-C ist, natürlich,
objektorientiert.
Und wir werden ein wenig diskutieren über das, was das bedeutet, dass später.
Im Grunde ist es wie, wie Sie gearbeitet Strukturen in diesem letzten pset, mit
Knoten und ähnliche andere Sachen.
Außer in Objective-C, alles ist ein Objekt, und du gehst zu
vorbei um Zeiger auf Objekte anstatt die Werte selber.
Also, es ist nur etwas, was wichtig im Auge zu behalten.
>> Also, warum fangen wir nicht mit ein paar Unterschiede in der Syntax zwischen C und
Objective-C?
Ich möchte hervorheben # include, Sie wissen, Standard io.h in C und C + +, mit
die Objective-C-Version, dass die # import ist, und dann eine Art
Header-Datei.
In diesem Fall wäre es UIKit sein, Sie wissen, Schrägstrich UIKit.h.
Es könnte auch sein, wissen Sie, MKMapView Schrägstrich, um Sie, wenn Sie wollen MKMapview.h
zu tun, wie, die Karte innerhalb der App.
Ähnliche Dinge.
>> Also, das Wichtigste ist, sind hat sich nun geändert zu importieren.
Aber die Idee bleibt.
Du wirst eine Art Import werden der Header-Datei in Ihr Programm.
>> Ich möchte auch den Unterschied markieren zwischen printf und NSLog.
Allerdings, wie wir früher gesagt, Objective-C ist eine strenge Super-Satz von
C, was bedeutet, dass printf besteht in Objective-C, auch.
Aber die meisten Menschen nicht mit, dass.
Die meisten Menschen nutzen diese, weil es NSLog gibt Ihnen einen Zeitstempel, und wir werden sehen
es später in Aktion.
Aber, es ist in der Regel ein nützlicher Weg zum ausdrucken Variablen.
>> Und ich möchte auch, dass markieren NSLog erfolgt in genau der gleichen
Platzhalterwerte wie printf tut -
so% d ist für einen int, % F ist für einen Schwimmer.
Aber ich will hervorheben Diese allerletzte -
NSLog% zu unterzeichnen -
das ist ein Platzhalter für ein Objekt.
Und wie ich bereits sagte, Objective-C Angebote so ziemlich allem in Objekten,
und so wird dies in Gebrauch kommen, wenn Sie ausdrucken, vielleicht, vielleicht wollen ein
NSArray oder NSDictionary, oder eine NSString.
>> Also, auch feststellen, dass in unserer NSLog Aussage, haben wir ein at-Zeichen vor
des Angebots -
das heißt, dass die Saiten bedeuten, jetzt, in Objective-C sind Objekte.
Sie sind nicht mehr einfach char Sterne.
Sie sind Objekte und sind als solche behandelt.
>> Also, es ist wirklich wichtig, dass, wenn Sie verwenden NSLog es dauert, in einem NS-
string, was bedeutet, dass müssen Sie eine zumin vor sind Ihre
Anführungszeichen.
Und deshalb sehen Sie, hier, in allen meine Funktion ruft zu diesem NSLog, ich
eine zumin vor der Zitate, auch obwohl die% d% f und die sind
alle gleich aus C.
>> Haben Sie Fragen so weit?
Ich werde versuchen, durch diese so schnell gehen dass wir mehr Zeit, um zu arbeiten
mit Xcode und Objective-C, so dass Sie Jungs können mehr bekommen
mit ihm vertraut.
>> Als nächstes möchte ich etwas hervorheben konzeptionell wichtig.
Also, in C, die meisten Dinge sind Funktionen.
Wir machen einen Funktionsaufruf.
Wir erklären Funktionen auf diese Weise, mit die Rück ersten geben, dann die
Funktionsnamen, Klammern und dann unabhängig Argumente und die Art der
diese Argumente, die wir weitergeben wollen in.
Und Objective-C, denn alles ist ein Objekt oder Klasse -
so Klasse und Objekt sind zwei Begriffe, die meist auch miteinander,
so ich sie synonym verwenden während des Seminars.
>> Aber, sehen Sie, dass wir Methoden in Objective-C und nicht Funktionen.
Und Methoden gehören zu Objekten.
So wie, vielleicht nehmen beispielsweise Knoten -
unsere Art [unverständlich]
Knoten aus pset 6 oder 5 -
Wir haben das Wort, Immobilien, oder der nächste Knoten-Zeiger.
Methoden sind einfach Funktionen innerhalb der eine Art von Struktur.
>> So, in diesem Fall die Struktur wäre das Objekt, und das Verfahren ist
etwas, das zu einem Objekt gehört.
Und das ist, wie würden Sie erklären, Art, eine Methode.
Sie würden mit wieder die Rückkehr zu starten Typ - so habe ich versucht, Farb
codieren die Schlüsselwörter hier, so dass Sie Jungs können die zumindest Formatierung siehe
Ähnlichkeiten zwischen Funktion Erklärungen und Methodendeklarationen.
Also, beginnen Sie mit, Sie wissen, eine Rückkehr Art - in diesem Fall ist es ein Array oder
ein NSArray Zeiger -
und dann muss man diese Methode.
Und dann, was ist interessant, hier ist dass anstelle der mit Klammern, wir
haben diese Doppelpunkte.
Und dann, vor der unsere Argumente, die wir setzen, wieder, in Klammern die Art
unserer Argumentation.
>> Also, im Moment bin ich versucht, um die Vergleich zwischen, wissen Sie, n und
Nummer, weil sie beide wie ints.
Und dann die andere ist eine Art NSUInteger.
Und dann, mit Objective-C, wenn Sie möchten mehrere Argumente haben
Ihre Methode Klausel, Sie, eine Art, trennen sie aus der Art wie diese -
Ich bin mir nicht ganz sicher, wie ich es beschreiben soll, aber das ist ein gutes Beispiel, wie Sie
kann mehrere Argumente in dort haben.
>> Man könnte natürlich einfach total ignorieren die andArray Doppelpunkt NSArray
Array, wenn Sie nur eine Methode gesucht das dauert in ein Argument.
Ja, Frage.
>> ZIELGRUPPE: Sind beide NSUInteger und NSArray Argumente, die ergriffen werden können,
innerhalb der NSArray?
>> Rhed SHI: Ja.
Also, lassen Sie mich erklären.
Also, ja.
So, das war die Frage, sind NSUInteger und NSArray * Typen der Argumente,
und das ist richtig.
Also, Sie wollen immer was geben die Art der Ihr Argument ist.
Und hier, ich versuche Ihnen vorstellen etwas von der Syntax und Vokabeln von
Objective-C, so dass die tatsächlichen Typen sind dass Sie zu tun haben werden.
>> Und so werden Sie feststellen, Arrays nicht mehr, eine Art,
einfache Halterung Dinge.
Sie sind Objekte.
Obwohl, wenn wir gehen in die nächste Rutsche, können wir sehen, dass wir
Hard-Code ein NSArray in Objective-C mit einfach am Symbol vor
die Klammern.
Ich bin nicht, eigentlich, ganz sicher, ob Ich syntaktisch hart codiert ein Array
richtig für die C-Version, aber das ist soll in einem C-Array sein.
>> Also, das ist, wie würden Sie, wissen Sie, vielleicht die Funktionen oder verwenden Sie die
Methoden, die wir zuvor erstellt haben.
Right?
Also, das ist, wo wir erklären unsere Funktion und unsere Methode.
Und nun, um sie in die wir nutzen wollen Programm, und dies
wie wir es tun.
Also, in C, würden Sie haben, wissen Sie, vielleicht, ein bool b und setzen Sie es
gleich die Funktion und dann Sie in den Argumenten übergeben.
>> In Objective-C, ist es ziemlich viel die gleiche Sache.
Sie haben NSArray * my_array, und es ist werde gleich - nun, das einzige
Unterschied hier ist, was dieses Objekt, was ich in gelb markiert, und
wie Sie sehen können, in C, es gibt kein anderes Wort gelb.
Und es ist, weil Methoden gehören mit einem bestimmten Objekt.
Also das ist, warum ich brauche, um ein Objekt haben dass, irgendwie, ruft diese Methode auf
die Zahl Null, und dann die NSArray a, b, c, d.
Haben Sie Fragen dazu?
>> Wir werden diese Konzepte in Aktion zu sehen ziemlich bald, wenn wir in einer Demo zu gehen.
OK.
Nun möchte ich ein wenig kurz sprechen Xcode über 5, die ist
integrierte Entwicklungsumgebung dass Sie mit arbeiten.
Ich kenne viele von Ihnen, oder einige von euch, nicht über Mac, was ein Problem ist
weil Xcode ist nicht verfügbar für Windows und PC.
Fragen Sie mich nicht warum, aber wahrscheinlich -
ja, corporate.
Was auch immer.
Aber trotzdem, so, ich entschuldige mich, wenn einige Sie haben eine Art von Download
virtuelle Maschine für Mac Um Xcode 5 laufen.
Aber es ist eine ziemlich raffinierte Software zu verwenden.
>> Und so, bevor wir tauchen ein in jeder Art der Demo, ich will dir nur zeigen, eine
Bild von Xcode sieht aus wie in Ihrem Fenster, und dann auch noch darüber zu sprechen
was dieser ganze Raum ist.
Also, es ist eine Art, wie Lernen, wie man Microsoft Word, außer Sie wollen
mit allem vertraut zu machen verschiedene Dinge, die
werden hier los ist.
>> Also zuerst möchte ich Sie darauf auf der Symbolleiste am oberen Rand.
Sie werden sehen, dass an der Spitze, Sie werden die Dateinamen haben -
oder, eigentlich, Projektnamen und dann Ihr Dateinamen.
Beachten Sie die Spiel-und die Aus-Taster.
Das sind diejenigen, die Sie sein verwenden, um Ihre App auf dem laufen
Simulator -
die iOS-Simulator.
Das kommt automatisch mit Xcode 5, so dass Sie sich keine Sorgen zu machen
Herunterladen eine Art Simulator.
Drücken Sie einfach Spiel und dann läuft er Ihre App.
Und Sie können spielen, um mit Ihnen, und Sie werden sehen, wie es funktioniert später.
>> Und dann, in der Mitte, ist natürlich , wo alle Ihre schönen Code ist
gehen wird.
Und dann, auf der linken Seite, werden Sie über diese, Art, Ordner -
Navigation -
und dann werden Sie auch sehen, dass, zusammen mit dem Ordnersymbol, gibt es eine
Reihe von anderen Symbolen gibt, die wird später nützlich sein.
>> Und dann auf der rechten Seite ist ein Dienstprogramm Bereich, in dem Sie arbeiten können
einige der Objekte, und geben Sie wissen, was die Farbe sein sollte, was
die Schriftart sollte, et cetera.
Obwohl alles, was Sie tun im Utility-Bereich, können Sie
tun in Code.
Und so werde ich durch zwei gehen werden Beispiele für die Verwendung, einfach, keinen Code
Alles - oder sehr wenig Code -
Verse gesamten Code, gerade so, dass ihr Jungs wissen, was Sie können und was nicht zu tun
Xcode und Objective-C.
>> Und dann, endlich, unten an der Unterseite, Sie haben die Debug-Bereich.
Also, Sie müssen nicht mehr GDB laufen, et cetera, auf Ihren Programmen.
Er tut es automatisch für Sie.
Und Sie können auch drucken Sachen zu diesem Bereich.
Also eigentlich, später, wir gehen durch mario.c, wenn euch noch daran erinnern,
dass in Xcode.
Damit soll Spaß machen.
>> Und dann, nur um es zurück zu bringen Objective-C, möchte ich hervorheben, was
Sie mit, wenn Aussagen machen kann.
Also, wissen Sie, da Objective-C ist eine Obermenge von C, alles, was Sie tun, ist,
wörtlich die gleichen wie C. Sie nur haben leichte Unterschiede.
Also, werden Sie das Formular für eine if bemerken Aussage ist immer noch das gleiche - man muss
wenn, dann haben Sie mit Klammern ein Zustand, der im Inneren, und dann
geschweiften Klammern für was Sie wollen innerhalb von dort zu tun.
>> , Diese Folie nach oben setzen jedoch wollte ich hier einfach zu veranschaulichen,
weil wir jetzt mit Objekten zu tun haben, wir müssen diese Dinge verwenden
wie genannt, ist gleich-String, der ist, zufällig, ein Verfahren der ein
String oder ein NSString-Objekt.
So, Wort, in diesem Fall ist ein NSString Objekt, und es ist eine Methode namens hat
gleich string, und dann sind wir vorbei in einem hartcodierte Zeichenfolge zu sehen
ob diese gleich sind zueinander.
>> Haben Sie Fragen so weit?
OK.
Und, ich will gehen über eine Erklärung auch für.
>> So, zum Beispiel, wenn man wollte Schleifen über der Länge einer Zeichenkette in C, diese
sollten Ihnen vertraut sein.
Und in Objective-C, ich will auf diese Art von zu markieren,,
Methode namens Count.
Na ja, eigentlich, lassen Sie mich nur nehme das zurück.
Zahl ist eine Methode der Anordnung.
Allerdings ist es insbesondere ein Eigentum des Array, das ist, warum Sie
können die Punktnotation zu verwenden.
Aber ich will nicht zu sehr ins bekommen Diese Konzeption Zeug, ich will nur
um Ihnen zu zeigen, wie die Dinge aussehen würde wie in Objective-C gegenüber C.
>> Und auch, ich möchte darauf hinweisen, dass obwohl ich habe mit NSUInteger
vor allem meine ich in Objective-C, Sie können auch int, int, da ist
in Objective-C völlig gültig ist, auch.
Ja?
>> ZIELGRUPPE: Ist es nur stilistischen oder ist -
>> Rhed SHI: Ja.
Also, wie Sie sehen werden -
ja, die Frage war, ist, dass nur eine stilistische Frage.
Wie Sie sehen, habe ich eine, irgendwie, Stern Sternchen, was sich an der Unterseite, und
dieser Link führt Sie zu einer Stack-Überlauf zu bilden, wo jemand erklärt
der Unterschied zwischen einem int in NSInteger und ein NSUInteger.
Und so, dass Sie später lesen kann.
Diese Folien werden natürlich zur Verfügung.
>> Mal sehen.
OK, genial.
So ist dies auch in der Folie enthalten weil ich dachte, das war ein großer
Website, die Sie führt Objective-C-Syntax.
Also, eigentlich, warum wir nicht zu bewegen Chrome und überprüfen Sie diese Website?
>> Richtig.
Also, was ich möchte Ihnen zeigen, Jungs hier ist dieses Bild.
Also, das ist, irgendwie, das sein, was Sie gehen zu einem von innen sehen
Xcode-Datei.
Eigentlich nicht, warum wir nicht nur ein Moment, irgendwie, nehmen diese in.
>> Also, dieses Buch -
das ist das Objekt, das wir es zu tun haben.
Und dann ist es offensichtlich sein wird von einem anderen Objekt geerbt, aber
Sie müssen nicht Sorgen machen.
Und dann, vielleicht hat einige Mitgliedsvariablen.
>> Das Wichtigste, was ich möchte Ihnen zeigen, ist die Instanz-Methoden, hier.
Also, Instanz-Methoden bezeichnet werden dieses Minus-Zeichen.
Und dann, als Sie feststellen, wir sind bereits ab, das Paradigma zu sehen
Verfahren zur Erklärung, oder?
Der Rückgabetyp, der Name der Methode, und dann wird der Typ des Arguments, und
dann wird der Name des Arguments.
Und das Minus-Zeichen bedeutet, dass es ein B. Verfahren, was bedeutet, dass
Diese Methoden sind nur zur Verfügung Objekte, die instanziiert haben.
>> Um das zu kontrastieren, Methoden mit einem Plus Zeichen vor ihnen sind Klasse
Methoden, was bedeutet, dass Sie anrufen diese Methoden, auch wenn Sie nicht über
noch ein Objekt erstellt.
Also, für ein klares Beispiel NSString ist eine Klasse.
Und Sie können uns anrufen, zum Beispiel, Klassenmethoden auf NSString -
die tatsächliche, wie, Wort NSString.
>> Jedoch, um diese zu verwenden Methoden, die Sie tatsächlich
benötigen, um eine Zeichenfolge zu erstellen.
Zum Beispiel NSString Sterne Zeichenfolge entspricht in Anführungszeichen, hallo Welt.
Und dann können Sie diese Methoden verwenden -
Instanz-Methoden -
Hallo Welt auf diesem String.
Also, das ist der Unterschied zwischen Instanzmethoden und Klassenmethoden.
>> Und, wir haben nur diesen Teil abgedeckt.
Immobilien sind eine andere Sache, die sind innerhalb von Objekten, im Grunde.
Und Sie ihnen erklären, die auf Objekt-Schlüsselwort.
Sie haben folgende Optionen, hier, dass ich später erklären, wenn
wir gehen in eine Demo.
Ja?
Hallo.
>> ZIELGRUPPE: Könnten Sie vergrößern, bitte?
>> Rhed SHI: Oh ja.
Entschuldigung.
>> ZIELGRUPPE: Danke.
>> Rhed SHI: Das sollte viel besser sein.
>> ZIELGRUPPE: Ja.
Danke.
>> Rhed SHI: Ja, erinnern Sie mich bitte, wenn Ich vergessen zu vergrößern oder zu verkleinern.
Also, das ist alles was ich wollte Ihnen für zeigen -
whoa, das ist eine Menge -
für diese Website.
Also, lasst uns zurück zu unserer Folien zu gehen.
>> Eigentlich jetzt einen Moment Zeit nehmen lassen in eine Demo zu tauchen.
Also, wir beginnen mit einem neue Xcode-Projekt.
Also, wenn Sie auf alle Xcode öffnen Ihre Maschinen sollte es dauern, einige
Seite, wo es heißt, wie, entweder offen bis ein vorhandenes Projekt oder eine neue
Projekt, und Sie sollten klicken Sie auf ein neues Projekt.
Und dann sollte es dauern, Sie zu diesem Bildschirm.
Ja?
>> ZIELGRUPPE: Wenn wir nicht einen Mac, wir nur irgendwie entspannen?
>> Rhed SHI: Oder schauen Sie auf mit jemandem, ja.
Ja.
Sie können zu chillen.
OK.
>> Also, was wir zuerst tun, jetzt, ist, eigentlich, wir werden tun, eine
Einzelansicht-Anwendung.
Also, wenn Sie feststellen, was ist toll über Xcode und Apple Unterstützung für
Entwickler ist, dass Sie eine Menge haben Vorlagen mit bereits arbeiten.
Sie könnten zum Beispiel, machen Sie eine Master-Detail-Anwendung.
Sie können ein Spiel zu machen -
und tatsächlich, ich werde nicht in die Spiele gehen, denn Spiele sind eine andere Geschichte
für iOS-Entwicklung.
Und sie sind Art zu trennen, so werde ich nicht darauf eingehen.
>> Dann haben Sie seitenbasierten Anwendungen.
Sie haben eine Registerkarte Anwendung -
so wie beispielsweise die Bank of America hat wahrscheinlich, wie, eine Tabbed-App.
Es ist die, wo man die Tasten an der Unterseite.
Und dann haben Sie ein Sprite Kit-Spiel.
>> Oder Sie von Grund arbeiten können, die ist das, was wir später tun.
Aber lassen Sie uns zunächst mit zu beginnen eine einheitliche Sicht-Anwendung.
Dann werde es für ein Produkt Namen, und wir können nur tun, Test.
Name der Organisation -
so, Name der Organisation, Unternehmenskennung -
die sind wichtig, wenn du gehst Ihre App im App Store gestellt.
Andere als die, wird der Code werde laufen, ohne dass dies absolut in Ordnung.
>> Dies wird wichtig sein, wenn Sie wollen - so, per se, wie, legen Sie Ihre App
auf Ihr Telefon oder so etwas, und Test Sie es aus, Sie wissen, im richtigen Leben -
Dies wird wichtig sein.
Dies neigt dazu, in der Regel zugeordnet sein eine Art Entwickler-Konto
mit Apple.
>> Und ja, ich weiß, wahrscheinlich viele von euch wird keine Entwicklerkonten.
Ich weiß, hat die Universität ein.
Ich denke, CS hat einen.
Aber können Sie mich emailen und ich werde versuchen um das herauszufinden für Sie.
Aber jetzt habe ich gerade auf in Platzhalter einige Dinge hier.
>> Und Sie können natürlich auch hier, wählen Sie ob Sie wollen, dass es allein in sein
iPhone, iPad in, oder beides -
universelle Anwendung.
So, jetzt, lass es uns tun universal, nur beide Seiten der Plattform anzusehen.
>> Mal sehen.
So, jetzt werde ich, um zu speichern es in einer Art Ordner.
Egal, wo - man immer bewegen Sie es später.
Und jetzt haben wir gebracht werden, unsere Xcode-Projekt.
Ich würde nicht über all dies zu kümmern.
Ich würde vorschlagen, nicht jede Berührung dies, wenn Sie genau wissen, was
Sie tun.
Also, all das, einfach ignorieren in den meisten Fällen.
Sie müssen nicht, sie zu berühren, und wenn Sie tun Sie mess up einige Dinge hier, es
wird ein wenig schwierig.
>> Also, warum wir nicht zu schauen Die Dateien auf der
linke Seite in unserem Navigator.
Hier haben wir AppDelegate.h.
Wir haben AppDelegate.m So, wie Sie Ankündigung haben wir Dateien, Header,
enden in Punkt h, und wir haben Umsetzung -
tatsächlich, lassen Sie mich zoomen
OK.
Lassen Sie mich zoomen
>> Richtig, so dass Sie Dateien und Header haben Sie Implementierungsdateien.
Eigentlich -
OK.
Dies ist ein wenig seltsam, aber Geduld mit mir.
Dann, weil wir eine einheitliche Sicht gewählt Anwendung, werden wir zu sein
Arbeit mit Storyboard.
>> Also, das ist etwas, das Storyboard von Apple hat sich mit, um wirklich helfen zu kommen
Entwickler schnell Prototypen deren Anwendungen.
Also, das ist, wo Sie erstellen können eine App, ohne das Schreiben ein
einzige Zeile Code.
Doch in unserer Einzelansicht Anwendung wir tun, haben natürlich ein
Datei für die aus unserer Sicht die ist ein View-Controller.
Also, wir haben die Kopf-und die Implementierung-Datei hier.
>> Und ich werde jetzt zu verkleinern, weil wir müssen in der Storyboard zu arbeiten.
So, hier ist unsere Sicht.
Wenn wir einfach, führen Sie die App gerade jetzt, es gibt nicht viel Aufregendes los.
Also, genießen Sie diesen weißen Bildschirm zu sehen.
OK?
>> Und in unserem Versorgungsgebiet, können wir hinzufügen eine Reihe von verschiedenen Dingen zu.
Also, wenn Sie mit Bildschirmen zu tun in iOS, sind der Ansicht-Controller
Objekte, die einzukapseln, Art, Ihre Ansichten.
Also, ein View-Controller immer hat eine Eigenschaft namens Blick.
Und diese Ansicht, in der Regel enthält, Sie wissen, was Sie
wollen auf einem Bildschirm zu sehen.
>> Also, na ja, sagen wir einfach, indem Sie beginnen, vielleicht, vielleicht ein Label.
Also, lassen wir es ein Etikett auf -
kleben Sie es in der Mitte.
So, jetzt, dass ich auf dem Etikett angeklickt, ich in den Eigenschaften-Inspektor gehen
und starten Sie den Wert zu ändern.
Nennen wir es CS50 Farben.
>> Und ich kann auch die Schriftart ändern.
Anstatt also tun System, welches der Standard, können wir eine kundenspezifische man tun.
Wir können ändern -
Sie wissen, Ultralight, machen es 32.
Und dann können wir unsere Feld größer.
>> ZIELGRUPPE: Glauben Sie, Sie können vergrößern in nur ein wenig mehr, vielleicht?
>> Rhed SHI: Ja?
OK.
>> ZIELGRUPPE: Tippen Sie einfach auf das?
>> Rhed SHI: Mal sehen.
Hat es funktioniert?
>> ZIELGRUPPE: Just passieren die Xcode?
>> Rhed SHI: Sicher.
OK.
Ehrfürchtig.
>> PUBLIKUM: Das Label unter?
Das Label?
>> Rhed GKV: Was ist das?
>> ZIELGRUPPE: Welche Dropdown- war das Label, unter?
>> Rhed SHI: So, das war die Frage, was Drop-Down war das Label, unter?
Es sollte einfach unter hier zu sein.
Ich denke, es ist ein Würfel Sache.
Aber in der Regel ist dies der Standard -
Ich werde einfach hier unten bis ich ein Etikett.
Ja.
>> So, jetzt haben wir unser Label.
Lassen Sie es zu zentrieren.
Und Xcode gibt uns Richtlinien zum Zentrieren von Objekten.
So, jetzt wollen wir unseren Code erneut aus.
>> Dort gehen wir.
Also, wir haben CS50 Farben.
Und jetzt lassen wir einen Knopf dort, oder?
Denn wir machen wollen diese interaktiv.
Also, lassen wir hier eine Schaltfläche.
Und wir werden diese Schaltfläche "tap hier nennen , um fortzufahren. "Wir werden es zu zentrieren, auch
Eigentlich ist es bereits zentriert.
Ja.
>> So, jetzt haben wir einen Knopf.
Und wenn wir diese wieder laufen, wir gehen eine nette kleine Taste hier haben.
Und ich kann darauf klicken, aber es nicht tun nichts, weil wir nicht getan haben,
nichts mit der Taste noch.
>> Also, lassen Sie eine andere Ansicht zu erstellen, oder?
Also, sagen wir, ich möchte tippen diese Taste, und ich will
gehen Sie zu einer anderen Seite -
eine andere Ansicht.
Was ich tun werde, ist, ich erstellen kann ein View-Controller, oder?
Jetzt werde ich auf meinem Schaltfläche klicken, und dann, das Wichtigste ist, werde ich
klicken - oder -
ja, Pressensteuerung auf meiner Tastatur.
Kontrolle.
Klicken Sie auf die Schaltfläche, und ziehen Sie.
>> Also, denken Sie daran, die Strg-Taste halten.
Lass uns das noch mal.
Also, halten Steuerung, klicken Sie auf, und ziehen zu dem, was Sie tun möchten.
OK.
>> Und jetzt habe ich mehrere Optionen hier.
Ich kann entweder zu schieben, oder ich einen tun können modal, oder ich kann eine benutzerdefinierte tun.
Push ist nur, wenn Sie ein Navigation-Controller.
Gerade jetzt, unseren ersten Blick Controller nicht innerhalb irgend
Navigation-Controller.
So ist die Navigation-Controller die ein das gibt Ihnen die Zurück-Taste auf
die iOS-App, wo Sie haben, wissen Sie, dass oben, irgendwie, dicke bar -
wo können Sie zurückgehen, oder Vorwärts, et cetera.
Gerade jetzt, kann ich nicht haben.
Und ja, das ist, warum ich einen Push nicht.
>> Also, auf Push klickte ich zufällig hier.
Und eigentlich wollen wir den Code auszuführen, und es sollte auf mich stürzt.
Nur wenn ich die Taste obwohl, so -
rechts.
Also, das ist schlecht.
>> Und, wie Sie sehen können, hier, wir haben die Fehlermeldung.
Also, "Push segues kann nur verwendet werden, wenn Quellensteuerung wird durch eine verwaltete
Instanz von UI-Navigation-Controller. " So, da dies nicht innerhalb von einem
Navigation-Controller, Ich konnte das nicht tun.
>> So, jetzt werde ich wieder auf die Ordner, geht zurück auf Storyboard.
>> PUBLIKUM: Was ist die Navigation Controller, schon wieder?
>> Rhed SHI: So, jetzt werde ich Ihnen zeigen.
Mal sehen.
Also, ich werde mich auf dieser Ansicht klicken Controller, und dann werde ich gehen
bis zum Produkt -
Eigentlich nicht, sorry - Editor.
Und ich werde in zu gehen -
Eigentlich habe ich darauf klicke?
Nein.
Dort gehen wir.
Ich werde in den Editor gehen nach oben, unten gehen einbetten und dann im Navigations
Controller.
>> OK.
Und sieht mein Arbeitsplatz wirklich chaotisch, so lassen sich diese zu reinigen.
So ist all das Storyboard.
Und auf diese Weise -
OK, Stop -
Ich kann schnell etwas zu bauen wie diese.
Und dann, jetzt kann ich wieder gehen, wissen Sie?
>> Aber das ist irgendwie langweilig, oder?
Also, was ich tun möchte, ist, das will ich nicht zu machen, einfach nur, einen Blick
Controller.
Sagen wir, ich wollte tatsächlich ein Tisch-View-Controller, so kann ich setzen in
einige schöne Farben in die Tabelle.
>> So, jetzt, dass ich in meinem Tabellenansicht setzen Controller, ich brauche, um es wieder zu verbinden
von diesen Button, um die View-Controller.
Also muss ich meine Steuer tun, Klick, Drag Sache wieder.
Und jetzt kann ich Push zu tun, weil ich es einbinden es in einer Navigation-Controller.
>> ZIELGRUPPE: Navigation Controller nur ermöglicht es Ihnen, von Ort zu Ort?
>> Rhed SHI: Ja.
Also, technisch, ist es ein Objekt, wo -
ja, innerhalb des Navigations Controller-Objekt, es
verfolgt ein Array.
Und das Array enthält alle nachfolgenden sehen Controller.
Das ist, warum, wenn Sie wieder zu drücken, es geht zurück auf die vorherige Seite.
Da die Navigation-Controller Objekt oder der Code, der sich kümmert um
Diese Aufgabe hat ein Array, das hält Spur dieser Ansicht-Controller und
dann wissen Sie, DQ die Ansicht Controller und geben Sie wieder die
vorherige.
>> Also, das ist technische Sachen, aber -
und ich werde Ihnen zeigen, später in Code, wenn wir Zeit haben.
Ich bin eine Art läuft auf Zeit, sondern -
>> Also, mit der Tabellenansicht was wir tun können, ist -
Es ist in der Regel automatisch Dynamic Prototype -
wir werden es Statische Zellen zu machen, sonst sind wir zu gehen
laufen in einige Probleme.
>> Und dann, sagen wir mal, ich werde um einen Abschnitt zu haben.
Also, wie Abschnitte -
wenn Sie jemals die Musik-App gesehen haben, wenn Sie haben Künstler, würde Abschnitte
sein, die a durch Z's -
die Buchstaben -
und dann, wissen Sie, die einzelnen Reihen würden die Künstler Namen sein.
Und so ist, was ist cool hier, ist, dass ich Zugriff auf alle Objekte innerhalb
meiner Storyboard durch diese Dropdown-Menü, zu.
>> Also, ich werde auf meinem Abschnitt klicken, und ich möchte, weißt du, vielleicht fünf Zeilen.
Und dann, innerhalb jeder Zeile, Ich möchte ein Label setzen.
Und ich werde dieses Blau anrufen.
Und dann möchte ich ein UI-Ansicht setzen Sie , vielleicht für, wie, einer kleinen Box.
>> Damit kann ich Menschen zeigen eine Vorschau auf die Farbe.
Und ich werde wieder auf dem Grundstück gehen und ändern, dass die Farbe auf, oh, ich weiß nicht
kennen, diese ein.
>> Und dann merkt auch hier, wenn ich Zubehör, kann ich viel haben
der verschiedenen Zubehör Sie sehen, dass in der Regel.
Die Offenlegung Anzeige, das Detail, oder Häkchen oder einfach nur Details.
Also, vielleicht können wir tun, wie, eine Offenlegung Indikator, zum Beispiel.
>> Und dann, warum nehmen wir nicht diese, Kopie fügen Sie sie und setzen Sie sie in die
nächste Tabellenzeile.
So können wir diese Yellow anrufen.
Und ich haben könnte, um diese zu erweitern.
Machen wir es gelb.
Und auf diese Weise können wir kopieren fügen unserem Weg nach unten.
Was war es?
Lila.
>> Also, das sind alles typische CS50 Farben, die Sie in der Klasse gesehen habe -
tatsächlich, sorry -
oder auf der Website.
Hoffentlich euch sehen können was ich hier mache.
OK.
Letzte.
>> ZIELGRUPPE: Wie haben Sie hinzufügen zunächst die Zeile?
>> Rhed SHI: So, das war die Frage, wie habe ich zunächst die Zeile hinzufügen?
Ich ging in diesem Tabellenbereich - oder aber ich kann
wählen Sie den Tabellenbereich -
und dann hier, ich aktualisiert die Anzahl der Zeilen.
>> Und, lassen Sie mich hoffen, dass das funktioniert.
OK.
Mal sehen, ob das funktioniert.
Oh, perfekt, genial.
OK.
Während ich den Aufbau meiner Demo, einige Dinge nicht ausgerichtet ist, so, vielen Dank für
der Applaus.
>> Ja.
So, mal sehen.
Wir machen das nur, um neun alles - oder eigentlich, sagen wir einfach
drehen alle diese Offenlegung in Indikatoren.
Und dann, was ich möchte Ihnen zeigen, auch, war, wie ich kann jeder von denen nehmen
Tabellenzeilen und haben ihnen zu interagieren -
oh.
Nein.
>> Oh.
Außerdem möchte ich Ihnen zeigen, -
hier kann ich den Titel habe meine Navigation-Controller, oder?
Also eigentlich, werden Sie feststellen, sobald ich Embedded-Controller diese Ansicht innen
der Navigation-Controller, sehen wir Diese Navigationsleiste am oberen Rand unserer
Storyboard-Darstellung einer View-Controller.
Und so gibt uns, wie, eine visuelle, Art, zu führen, um unsere sichtbare Bildschirm.
Dies wird offensichtlich, um sein, die Navigationsleiste.
>> Und was ich zu schnell zu tun, Jetzt wird in einem anderen setzen -
so dass diese Tabelle View-Controller Ich habe durch , einen von diesen und Ziehen
hier, und das ist, was mir erlaubt schnell, wirklich, erstellen eine Tabellenansicht
Controller.
Wenn wir die Zeit haben, obwohl, Sie sehen, dass, programmatisch, es ist ein
bisschen schwierig, eine Tabelle zu erstellen View-Controller, denn es
gibt ein paar Methoden, die sind erforderlich, damit Sie, irgendwie, schreiben
aus, damit der Tabellenansicht Controller korrekt angezeigt.
>> Aber ich will dir nur zeigen, jetzt, ein Beispiel, wo, wenn ich das zu nehmen,
zum Beispiel -
Ich habe in einem anderen View-Controller setzen.
Und nun, sagen wir, ich will Kontrolle Alt meine erste blau
Tabellenzeile zu hier.
Und ich möchte dieses Blau anrufen.
Und dann -
mal sehen.
Ich bin an der jetzt ansehen, und ich kann ändern der Hintergrund blau.
>> Und so, Kündigung, hier, dieses Dropdown- Menü gibt Ihnen auch eine Hierarchie der alle
dieser Objekte.
So eine wichtige Sache zu beachten, hier, ist, dass all diese Dinge hier -
Diese Tabelle View-Controller, der Tisch Ansicht Tabellenansicht Abschnitt Tabellenansicht
Zelle - all das sind Objekte im Code.
Also, wissen Sie, jetzt ist ein Label, unter der Inhalt Ansicht, et cetera.
So weiter und so fort.
>> Also, wenn wir diesen Code ausführen, werden wir sollte etwas zu sehen -
Lassen Sie uns sehen, wenn diese - ja.
So, da wir gehen.
Aber wenn wir das nicht tun, keine der diese anderen Dinge funktionieren.
Right?
Also nur diese eine funktioniert.
Und aus Gründen der Zeit, ich will nicht gehen in, wissen Sie, indem
unten die anderen.
Und das ist das Ende, Art, Storyboard -
was ich wollte zeigen, Sie Storyboard.
>> Und ich habe ein Beispiel herausgearbeitet, tatsächlich, genau hier.
Also, das ist das Storyboard dass ich vorher gemacht.
Also, wie Sie sehen können, war dies meine Navigation-Controller.
Dann hatte ich meine erste View-Controller, dann hatte ich meinen Tisch-View-Controller,
und dann hatte ich alle diese -
so vorher, ich war dabei etwas ganz anderes.
Also, entschuldigen Sie diese Dinge.
Wahrscheinlich werde ich aufräumen später vor Ich schicke es ab in die Produktion.
>> Aber wenn wir diese ausführen, werden wir sehen, dass alle Optionen
uns zur Verfügung.
Außer ich habe die Hintergründe nicht machen diese Farben.
Also, schöne einfache Anwendung.
>> Jetzt wollen wir versuchen, anzugehen dies programmgesteuert.
OK.
Also, um das zu tun, wir sind gerade dabei , eine neue Xcode-Projekt zu starten.
Wir werden es jetzt eine leere Anwendung zu machen, weil wir nicht haben wollen, die
Storyboard.
Also, ich bin einfach auf die Beschränkung mich nicht verwenden Sie eine der Storyboard und ein
leere Anwendung wird nicht gib mir ein Storyboard.
Dies ist nur zu verhindern, mich von Betrug.
Mal sehen.
Warten.
Habe ich -
Ja.
OK.
>> Richtig.
So, hier haben wir es mit links nichts anderes als Code.
Also, lassen Sie mich dieses Fenster bewegen etwas mehr.
Richtig.
Wie Sie hier sehen können, die nur Dateien uns gegeben sind AppDelegate.h und Punkt
m, und wir haben keine mehr Storyboard.
>> Also, wenn wir das ausführen, werden wir immer noch zu bekommen, um dem weißen Bildschirm, Gott sei Dank.
OK - Weiß-Bildschirm, aber sonst nichts.
Und hier ist der wichtigste Teil.
Dies ist, wo die Action passiert.
In den vorherigen Versionen, gibt es in der Regel kein Code hier, aber die
Storyboard stellt im Wesentlichen der Code für diesen Teil.
Ich will nicht ins Detail gehen, wie.
>> Und was wir jetzt tun wollen, ist, wir wollen hier gehen, und dieser kleine Raum
beginnt erneut die Erstellung unserer App.
So -
ja?
>> ZIELGRUPPE: Zoom?
>> Rhed SHI: Zoom.
Ja, sicher.
OK.
Ich werde die Eingabe, so sollte dies nicht Egal zu viel.
OK.
>> Also, zuerst, erinnern wir schaffen wollten einen Navigation-Controller, oder?
Und auch, wie Sie hier sehen können, Xcode macht einen wirklich tollen Job
Selbstbefüllung.
So, wie Sie feststellen, die Namen der alles viel länger, als es
üblich, aber in Xcode füllt es für Sie.
So kann ich nur Enter drücken.
>> Also, ich möchte ein UI-Navigation erstellen Controller-Zeiger, und ich kann es nennen
Navigation.
Nun, was soll ich jetzt machen?
Nach diesem Gleichheitszeichen, muss ich zunächst schaffen es in der Erinnerung.
Also, ich werde tun, Navigation alloc -
so ist dies ähnlich zu malloc, Jungs, dass Sie in C verwendet -
und dann werde ich es init.
>> Also, es ist wirklich wichtig, dass jede Objekt, das Sie erstellen, wollen Sie
alloc und init es.
Das wird es schaffen und instantialize es in der Erinnerung, und
Jetzt können Sie es verwenden.
Alles klar?
Wenn Sie das nicht tun, tut Ihr Objekt nicht vorhanden ist, und Sie werden in einen Haufen laufen
Probleme.
>> Und dann will ich schaffen ein View-Controller, oder?
Also, ich möchte eine UIViewController erstellen star -
ja, ist alles, was ein Zeiger in Objective-C, und ich werde tun,
etwas ähnliches, hier -
alloc, init.
OK.
>> Und dann, was ich tun werde, ist, ich bin gehen, um - so, daran erinnern, als wir
das einbetten in Navigation-Controller?
Dies ist, wie Sie es im Code zu tun.
Du wirst tun, Navigation
Pushviewcontroller -
>> ZIELGRUPPE: [unverständlich].
Wird es dazu kommen für uns, oder -?
>> Rhed SHI: Oh, ja.
Nein.
Es mag mich besser.
Nein, es für Sie zu arbeiten, auch.
Also, das sind alles Methoden.
So Pushviewcontroller ist ein Verfahren, und auch, genauer gesagt, ist es ein
B. Verfahren der UI Navigation-Controller.
Da musste ich meine UI-Navigation erstellen Controller Sterne, und dann habe ich
können diese Pushviewcontroller auf nenne meine bestimmte Instanz eines UI-Navigation
Controller.
>> ZIELGRUPPE: Haben wir die genaue tun müssen Wort, oder hat sie bereits für sie gibt?
>> Rhed SHI: Ja, denn es ist eine Methode.
Es ist wie eine Funktion.
Es ist wie printf.
Es ist wie scanf.
Es ist wie strcompare.
Außer es weiß, was Sie möchten geben, und beachten Sie, dass es dann immer
kommen mit Dingen, die sind für Sie rechtlich erlaubt.
Also, wenn nichts zeigt sich hier, dann stimmt etwas nicht.
>> Also, Pushviewcontroller.
So, jetzt möchte ich drücken meine neu erstellt
UIViewController, und dann, animierte -
vielleicht auch nicht.
Da dies sein wird, der erste View-Controller.
Ich meine, selbst wenn ich es machen animierte, es wird wahrscheinlich nicht angezeigt werden, weil
es ist der erste Bildschirm.
>> Und denken Sie daran die Klammern.
Also, noch, wie wir die Klammern?
Und innerhalb der Klammern, die Objekt ruft auf einer Methode -
so dass unser Ziel ist die Navigation Controller und das Verfahren ein Druck
View-Controller animiert.
Und sehen, wie es dauert, in zwei Argumente, und sie sind von der, irgendwie getrennt,
Worte und ein Doppelpunkt.
Also, Objective-C versucht es schön zu machen und einfach für Sie zu laut vorzulesen -
Ihr Code - und haben es halb, Art, Sinn machen.
>> Allerdings nur, dieses zu tun ist nicht genug.
Lassen Sie mich nun zu vergrößern.
Doing nur diese ist nicht genug, bekommen, was wir bisher haben.
So, hier, werden Sie feststellen, dass es eigentlich nicht gehen, um jede Art von sein
Bar, hier, oder?
Es gibt keine Navigationsleiste, was bedeutet, dass wir immer noch nicht dazu gekommen.
>> Und wir können das testen, auch, durch, vielleicht, die Änderung der Hintergrund des
Viewcontroller, richtig?
ViewController.background--
ah.
Also, Sie sehen, wie Viewcontroller nicht haben eine Hintergrundfarbe, auch wenn ich
wollte darauf zugreifen?
Und das ist, weil Viewcontroller ein Behälter für die Ansicht.
So hat es eine Ansicht Eigenschaft, die hat dann eine Hintergrundfarbe.
>> Und, kann ich es einstellen, irgendwie langweilig, indem Sie die Farbe
auf der UIColor Objekt.
Also, ist hier redcolor Ankündigung eine Methode.
Es ist eine Methode der Klasse UIColor.
Weil ich nicht ein erstellen tatsächliche Instanz einer UIColor um
, die Methode auf es nennen.
Ich habe gerade einfach, nannte es von der Art-ähnlichen Namen.
Ich, wie, nannte es auf int, wenn int hatte, wie ein Verfahren, um es zum Beispiel.
>> Und so, wenn wir diesen Code ausführen, werden wir feststellen, dass der Hintergrund
eigentlich nicht rot.
Es ist immer noch weiß.
Und wie können wir um, dass ist zu erhalten, merken, wie es die self.window.
Das ist, wie, das ultimative Behälter für Ihre Anwendung.
Es ist das ultimative Ding, das enthält alles, was auf dem Bildschirm, für eine
iPhone und iPad-Anwendungen.
>> Und bequem, self.window hat diese Eigenschaft namens
RootViewController.
Und das wird der Zeiger auf sein das erste View-Controller im Inneren
Ihrer App.
Also, was wir hier machen wollen, jetzt ist , dass gleich unsere Navigation eingestellt
Controller.
Right?
Denn technisch, Navigation Controller ist unser erster Blick
Controller.
Es verfolgt eine Reihe anderer Ansicht Controller, und wir diese gedrückt
View-Controller in diesem Array in der Navigation-Controller.
>> Also, Sie wollen nicht, dies zu tun.
Das wäre nicht wirklich helfen.
Sie wollen, dies zu tun, wenn Sie tun wollte einen Navigation-Controller, der die meisten
der Sie wahrscheinlich, weil Sie wollen, zu, irgendwie, haben eine Art von,
wie, Menü zurück zu gehen oder einige Homepage zurück zu gehen, anstatt ein
leeren Bildschirm.
Ja?
>> ZIELGRUPPE: Ist es unangenehm - für Sie, auf dem zu vergrößern
>> Rhed SHI: Ja.
Also, ja.
Dies ist der Code, und jetzt Lassen Sie uns testen Sie es aus.
>> So, da wir gehen.
Magie.
So, OK.
Danke.
OK.
So, jetzt, was wir wollen, ist - so, wir Art beschränkt, hier, oder?
Wir könnten alles schreiben Innere dieser eine Funktion.
Aber, das ist nicht, wie iOS-Entwicklung in der Regel funktioniert.
>> Also, was wir tun werden, ist, wir sind werde einige neue Dateien erstellen.
Aber, genauer gesagt, wir werden erstellen Sie einen anderen Objective-C-Klasse oder
eine andere Aufgabe -
Klasse und Objekte sind austauschbar hier.
Und hier ist, wie ich konnte, möglicherweise, erstellen Sie eine andere Klasse von U-Controller.
>> Also, es ist eine Unterklasse, so werden Sie feststellen, hier, es ist eine Unterklasse der
UI-View-Controller, aber ich kann nennen es andere Namen hier.
Ich könnte diese CS50 nennen, nenne ich konnte Diese View-Controller, rufe ich konnte
Diese blah-View-Controller -
alles, was ich will.
Dies ist nur der Name für die Klasse.
Allerdings ist es wichtig sein weil im Wesentlichen, was ich tue
hier ist, ich schaffe eine andere Klasse Namen.
Also, es wird sein, wie einige Art von Typ oder ein Objekt.
So sollte es ein wenig generisch sein.
Es wird nicht sehr spezifisch sein.
>> Und auch, ich möchte darauf hinweisen, aus diesen beiden Optionen.
Denn wir tun alles, was innerhalb der Code ist es manchmal viel einfacher
in einer Schnittstellendatei zu bringen, so dass Ich kann buchstäblich ziehen, wie
wir haben früher mit Storyboard -
Sie wissen, ein Label, oder eine Taste, oder was auch immer.
Und so sind Dateien, die es Ihnen ermöglichen, xibs das nicht, und man muss es Haken haben
zu diesem View-Controller-Datei.
>> Also, ich werde bewusst nicht überprüfen diese.
Normalerweise würde ich dies zu überprüfen, und wenn ich nur, dass diese für das iPhone oder iPad, ich
würde dies zu überprüfen und haben einfach ein für, wissen Sie, das iPhone oder das iPad.
Aber da mache ich universelle, werde ich zwei von denen später erstellen.
Also, ich werde bewusst deaktivieren Sie diese.
>> Das ist auch wirklich wichtig.
Eine Menge Zeit, habe ich Fehler hatte wo dies wurde nicht überprüft.
Und ja, natürlich ist diese Datei nicht, Art, wie, enthalten oder importiert
innerhalb dieser Testordner.
Und so hat mein Code absolut keine Ahnung die Existenz dieser Datei, und
dass eine Menge Schmerzen verursacht und Stunden der Fehlersuche.
Aber, so stellen Sie sicher, dass das so ist, überprüft dass, wissen Sie, das Ziel dieses
Datei ist für diese Anwendung.
>> OK.
So, jetzt haben wir zwei neue Dateien erstellt.
Und diese Dateien sehen ziemlich leer.
Und eigentlich wollen wir auch weiterhin auf, indem sie die xib-Dateien.
Also, früher, in der ich war Cocoa Touch Drop-down.
Nun, ich werde in den Benutzer gehen Interface-Touch, und wie Sie sehen können, habe ich
kann ein Storyboard erstellen.
>> Also, auch ich mit einem leeren gestartet Anwendung kann ich immer noch ein
Storyboard.
Obwohl es schwierig wird in Bezug auf wie Sie sich verbinden wollen
dass Sie Ihren Code.
Also, ich werde nicht hingehen.
>> Aber, was wir tun wollen Jetzt ist eine Ansicht erstellen.
Und Sie können für wählen ein iPhone oder ein iPad.
Und üblicherweise zur Bezeichnung der Unterschied - wenn du tust ein
universelle Anwendung -
Sie setzen entweder einen Unterstrich iPhone, oder Sie haben einen Twiddly tun können.
Es spielt eigentlich keine Rolle.
Es ist einfach für Sie, zu differenzieren welche Ansicht ist, für die Einrichtung.
>> Und so, mal schauen.
Ich habe einen Bildschirm, dass ich arbeiten kann.
Und so, zum Beispiel, kann ich eine Markierung setzen hier, wissen Sie, und ich kann auch setzen
hier eine andere Taste.
Ich werde nicht die Mühe ändern die Werte hier.
>> Aber, was ist hier wichtig ist , dass der Besitzer der Datei -
so, ich bin im Inneren des iPhone Ansicht, iPhone xib Datei.
Und in diesem Navigationsbereich oder Dropdown-Menü, ich will gehen, um die
Eigentümer der Datei.
Und das ist das eigentlich wichtiger Schritt.
Ich will den Klassenansicht machen Controller, so dass diese Datei ist xib
gehen, um mit in Verbindung gebracht werden Meiner Ansicht-Controller.
Und alles, was ich in meiner Ansicht zu tun Controller programmatisch ist
geht hier reflektiert werden.
>> So jedoch feststellen, dass -
tatsächlich, wir machen diese Ansicht Hintergrund blau, zum Beispiel.
Oder grün.
Und dann, also, wenn Sie feststellen, wieder in dieser Code, das ist, wo wir haben unsere
Navigation-Controller.
>> Auch wenn wir diesen Schritt getan, ist es immer noch rot, nicht grün zu sein.
Und es gibt einen Grund, warum.
Es ist, weil, wenn wir inited unserer Ansicht-Controller, hier -
Entschuldigung, es ist ein wenig verrückt -
wenn wir unsere inited View-Controller hier, wir inited der allgemeinen Art
UIViewController.
OK?
So haben wir nicht selbst tun es mit dieser Klasse.
>> Also denken Sie daran, dies ist wie eine Klasse nun.
Es kann als eine Art betrachtet werden, nur als UIViewController ist ein Typ.
Und um das zu verwenden, was wir tun müssen, ist zu importieren -
Import Viewcontroller -
und, wie Sie sehen können, AutoFills es für mich.
Also, Viewcontroller -
und jetzt, hier, kann ich das ändern UIViewController zu Viewcontroller.
Und jetzt, hier, die ich ändern kann dies Viewcontroller.
>> Laufen wir schon wieder.
Es ist immer noch rot.
Und der Grund, warum es immer noch rot ist, weil -
woah, was da passiert ist?
Wir wollten diese xib verknüpfen Datei mit dem View-Controller.
Allerdings, um es wirklich zu tun dass müssen wir in diese gehen.
Und wenn wir das tun die init, zu tun, wollen wir initWithNibName, und dann wollen wir
tun, die in String View_iPhone, zum Beispiel.
Sie können das Bundle hier ignorieren.
>> Und das wird, damit uns, eigentlich -
uh oh, es gibt ein Problem.
Richtig.
>> Und ja, es gibt ein Problem, weil in unserer Sicht xib Datei, haben wir eine Bezeichnung und
wir haben eine Taste.
Allerdings, auch wenn wir angeschlossen haben die beiden, es gibt nichts in der
ViewController.h oder ViewController.m dass diejenigen, reflektieren
Knöpfe oder diese Etiketten.
Also, müssen wir die in so schreiben Eigenschaften der View-Controller.
>> Also, das ist, wie Sie erklären eine Eigenschaft.
Es dauert in der Regel, diese beiden Optionen.
Für die Zwecke von uns und diesem Seminar Ich würde sagen, dass im Allgemeinen,
die meisten Eigenschaften sind nicht-atomare und zu halten.
Sie können mit der Google Suche zu lesen, Sie wissen, der Unterschied zwischen
nicht-atomare und behalten auf Sie wissen, Google oder so etwas.
Und ich werde Sie, wie, Stapel nehmen Überlauf, wo die Menschen haben
Antworten auf die Unterschiede zwischen denen.
Aber jetzt ist das, was wir wollen mit betroffen sein.
>> Und wir wollen ein UI-Label, Sterne zu machen, und wir können es nennen, wie wir wollen.
Wir können das nennen, wissen Sie, Label.
Und, wir anderen zu schaffen ein für die Schaltfläche.
Und denken Sie daran, den Stern gehören, weil wir mit Zeigern zu tun
so ziemlich überall im Inneren von Objective-C.
>> Allerdings wird das immer noch nicht lösen das Problem ist, wie man hier sehen kann.
Und der Grund ist, weil, wenn wir wollen eine Datei xib Etikett oder eine Verbindung
-Taste, um das Programm oder die Kopf und Implementierungsdatei, wir wollen
'das Stück Code -
Steckdose.
Beachten Sie, dass es ist ein Schlüsselwort.
>> Und sobald ich fertig Typisierung aus, dass, sollte es diese haben
zwei Kreise, hier.
In der Regel sind sie nicht ausgefüllt
Ich bin mir nicht sicher, warum sie sind.
Aber in der Regel werden Sie manuell haben verbinden Sie sie, indem Sie auf dieser Seite der
die Versorgungsbereich.
>> Und so, jetzt habe ich mein Label bekam ausgewählt, und ich möchte diese neue zu ziehen
Referenzierung Steckdose, um Besitzer meiner Datei und klicken Sie dann auf Etiketten.
So, jetzt endlich ist dieses Label zu diesem Label verbunden.
Und das Label ist, was wir zu gehen verwenden programmatisch ändern ihre
Text, dessen Schriftart, seinen Hintergrund Farbe, et cetera.
>> Also, warum machen wir nicht die elbe für den Button?
Und so werden Sie feststellen, für die Schaltfläche es ist ein wenig komplizierter.
Weil, ich meine, du bist zu vermuten, auf Knopfdruck, so dass es eine Menge bekam
von Optionen für Benutzer kann auf eine Taste drücken.
Und dann werden wir sehen, dass später wir können dies die Verbindung unserer
Code, damit es funktioniert.
>> So, jetzt aber, eine Verbindung herstellen möchten wir er dem tatsächlichen Taste
innerhalb unseres Codes.
So gehen wir in die neue Referenzierung Steckdose und führen Sie dann die Taste.
Jetzt wollen wir laufen schon wieder.
Uh oh.
OK.
Ich weiß nicht, was los ist jetzt hier.
Whoa.
Nur einen Moment hier.
>> Eigentlich nicht, warum wir nicht ein Blick auf ein weiteres Beispiel in
das Interesse der Zeit.
OK.
So, hier ist mehr leicht hergestellt Beispiel für Viewcontroller.
Wie Sie hier sehen können, habe ich aufgenommen die Eigenschaften für die
Etikett und die Taste.
Und dann dieses Stück Code hier -
Diese IBAction -
war eine Verbindung zu diesen Button hier.
So wie Sie hier sehen können, Touch-Inside wird dem Selektor verbunden ist
genannt Taste gedrückt.
>> So können wir eigentlich durch die gehen Bewegung wieder, hier, indem Touch Up
Innen und Ziehen auf Datei-Besitzer, und dann
klicken Sie auf Taste gedrückt.
Jetzt wollen wir unseren Code ausführen.
So, jetzt funktioniert nun diese Taste und wird uns auf die nächste Seite zu nehmen.
>> Und in Bezug auf unsere View-Controller, dies ist das Stück Code, nahm
Pflege der gedrückten Taste.
Und es ist wichtig, hier zu beachten, dass Ich habe eine andere Art von Ansicht erstellt
Controller heißen Tisch View-Controller.
So, das war ähnlich zurück in Storyboard, als ich eine der gezogen
diese Tabellen Ansicht-Controller in das Storyboard.
Ich erstelle eine andere
>> Zeiger auf die Tabelle View-Controller, alloc und init-ten, und dann tun
Selbst dot Navigation-Controller, Viewcontroller drücken, diese neue
Viewcontroller.
Und ich habe die Animation auf yes gesetzt, weil jetzt in meiner app, und ich
wollen, tatsächlich sehen die Animation gehen von der Homepage auf den Tisch
View-Controller.
>> ZIELGRUPPE: Haben Sie immer noch Sorgen zur Garbage-Collection?
>> Rhed GKV: Was ist das?
Nein.
So, das war die Frage, haben Sie mit Garbage Collection zu arbeiten?
Also, Xcode 4 hatte wie ARC, das ist, automatische Referenzzählung.
Und so, in der Regel, wenn Sie eine neue starten Projekt, würden Sie überprüfen, dass wegen
niemand wirklich will, zu beschäftigen Speicher freigeben und so.
Aber ich denke, in Xcode 5, gibt es nicht einmal diese Option auf das neue Projekt.
So ist es automatisch macht das für Sie.
Ja?
>> ZIELGRUPPE: Können Sie exportieren ein PDF in das Storyboard?
>> Rhed SHI: Ja, auf jeden Fall.
So werden alle von ihnen werden in einbezogen Source-Code, so dass Sie Jungs können überprüfen
die tatsächliche Xcode-Projekt für sie.
Ja?
>> ZIELGRUPPE: Aber, ich meine, wie kann ich drucken Sie ein PDF mit meinem Storyboard?
Wenn ich will nur das exportieren Bilder, jemanden zu zeigen.
>> Rhed SHI: Oh ja.
Ich denke, vielleicht, können Sie einfach einen Screenshot.
Ja, und einen Bildschirm senden Sie sie Schuss oder so etwas.
Ja.
>> So, mal sehen.
Im Interesse der Zeit, denke ich, das ist alles, l heute abdecken kann.
Aber, ich weiß, das ist eigentlich nur die Oberfläche von iOS kaum berühren
Entwicklung.
Also, zögern Sie nicht, mich zu kontaktieren, wenn Sie Fragen zu iOS
Entwicklung.
Und hoffentlich werde ich in der Lage zu reinigen sein etwas von dem Code für die Quelle
Code-Dateien, so dass Sie einige haben wirklich schöne Beispiele, um mit zu arbeiten.
>> Andere als die, wenn euch gehen auf den CS50 Hackathon, darf ich oder kann
nicht da sein, und ich kann helfen mit einigen iOS-Entwicklung, auch.
Also, vielen Dank, Jungs.