>> RHED SHI：へようこそ CS50セミナーを参照してください -
iOSの概要。
来て、すべてに感謝します。
私はあなただけのように興奮している願っています 私はiOSの約だとして。
昨年、私は二年生としてCS50を取った、 と私は基本的に私のためのiOSを学んだ
最終的なプロジェクト。
そしてそれはかなりだった -
まあ、それは簡単ではありませんでしたが、そこにある オンラインサポートのチュートリアルがたくさん。
と私は本当にこれであることを願っています セミナーでは、私はあなたたちの頭をあげる
iOSの開発に開始
>> そのため、iOSの開発の面で、 2主なものは、私たちがあります
今日カバーしたい。
まず、言語 -
言語であることを行っている Objective-Cの。私たちは、実際に聞くことができます
本当にエキサイティングなもの。
だから、あなたは全体のAppleに参加できます 開発者のコ​​ミュニティといくつかのビルド
本当にすごいアプリ。
>> また、iOSの7は、うまくいけば、美しいです 皆さんの中に。
しかし、それは私が知っている、論争の的だ。
主に、私は何をしたいのガイドです あなたのObjective-Cを通って、また
統合されているXcodeの、 あなたはなるだろう開発環境
iOS用の労働。
>> だから、Objective-Cの上の言葉だけ。 基本的には、Cとまったく同じだ
しかし、他の多くのことに。
そこで、より厳密には、実際の あなたは何で程度のスーパーセット
である、今のC言語で行うことができます 基本的には、6を通じてPSE​​T 0が好き
Objective-Cで行うことができます。
>> だから、この新しい約恐れて感じることはありません あなたが学ぶつもりだ言語。
あなたはすでにそれをたくさん紹介してきた、 あなたはすべてこの過去のCやったので、
今あなたが行っているを除い学期、 で動作するように多くのことを持っている。
そして私はちょうどを通してあなたを導くつもりだ いくつかを強調表示する例をいくつ
私がいた見つかった主な相違点の 本当に重要なときに私が学んだ
Objective-Cの昨年。
>> さて、実際に、そのように、他のポイント 、Objective-Cのは明らかであり、ある
オブジェクト指向。
そして、我々は少し説明します それが後に何を意味するのかについて。
基本的に、それはあなたが働いどのようなものだ この過去PSET内構造体、と
ノードと同じような他の そのようなこと。
Objective-Cでは、を除いて、すべてがある オブジェクト、およびあなたがすることになるだろう
オブジェクトへのポインタの周りに渡す 、値そのものよりも。
だから、それだけで何か重要なことだ 心に留めておくように。
>> では、なぜ我々はいくつかで始まっていない C言語との間の構文の違い
Objective-Cの？
私はあなたには、＃をハイライト表示したい 、CおよびC + +で標準IO.Hを知っている、と
それのObjective-Cのバージョン、どの ＃インポートしてから、いくつかの並べ替えのある
ヘッダファイル。
この場合、それは、UIKitのであろう あなたが知っている、UIKit.hスラッシュ。
それはまた、あなたが知っている、MKMapviewかもしれない 必要に応じてあなたにMKMapview.hスラッシュ
、のように、あなたのアプリケーションの内部を地図で紹介しています。。
そのような同様の事。
>> だから、重要なことは、ある 今インポートする変更されました。
しかし、考えはまだ残っている。
あなたは、いくつかの並べ替えを輸入することになるだろう プログラムにヘッダファイルの。
>> 私はまた、違いを強調したい printf関数とのNSLog間。
しかし、先ほど言ったように、Objective-Cの の厳密なスーパーセットである
printf関数が存在することを意味し、C、 Objective-Cでは、あまりにも。
しかし、ほとんどの人はそれを使用しません。
ほとんどの人はそれので、こののNSLogを使用 あなたにタイムスタンプを付与し、我々が表示されます
それ以降のアクションで。
しかし、それは一般的に、より便利だ 変数をプリントアウトする方法。
>> 私もそれを強調したい のNSLogはちょうど同じを取り込み
プレースホルダ値のprintfがするように -
その％dはint型用で、 ％fは浮動株である。
しかし、私が強調したいです この非常に最後の1 -
アットマークのNSLog％ -
つまり、オブジェクトのプレースホルダです。
そして、私は、以前のObjective-Cのお得な情報を言ったように ほとんど大部分のオブジェクトでは、
するときなど、これは使用中に来る 多分、おそらく、プリントアウトしたい
たNSArrayまたはNSDictionaryの、 またはNSStringの。
>> だから、また、私たちのNSLogで、それに気付く 声明、私たちは前にある看板を持っている
引用の -
それは、今、その文字列を示すためにある Objective-Cでオブジェクトです。
彼らはもはや単純にCHAR星ません。
彼らは、オブジェクトだとある そのように扱わ。
>> だから、それは本当に重要なことをするとき あなたはそれが、NSにかかるのNSLogを使用
あなたが持っているだろうことを意味し、文字列、 あなたの目の前でATを含める
引用符。
あなたはすべての中で、ここでは、参照の理由、それはだ My機能は、私、こののNSLogへの通話
、引用符の前にであっても ％dと％Fのであるけれども
すべて同じCから
>> ご不明な点、これまで？
私はすぐにので、この通過してみます 我々は仕事に多くの時間を持つことができること
XcodeとObjective-Cのと、そう あなたたちは、より多くを得ることができること
それに慣れ。
>> 次に、私は何かを強調したい 概念的に重要。
だから、C言語で、ほとんどのものは関数です。
我々は、関数呼び出しを行う。
我々はして、機能をこのように宣言します リターンはその後、第一のタイプ
関数名、括弧してから、 どのような引数と型の
これらの引数我25.40渡したい
とObjective-Cは、すべて理由 オブジェクトまたはクラスがある -
そのクラスとオブジェクトは、その2項である お互いに、ほとんど同義であり、
私は同じ意味にそれらを使用することができます セミナーを通じて。
>> しかし、あなたは私たちがメソッドを持っていることがわかります Objective-Cのではなく、機能します。
とメソッドは、オブジェクトに属します。
だから同じように、多分取る 例えば、ノード -
私たちのタイプ[聞こえない]
PSET 6または5からノード -
私たちは、言葉には、プロパティを持っている または次のノードポインタ。
方法は単純に内部の関数である 構造体のいくつかの並べ替え。
>> したがって、この場合には、構造は次のようになります オブジェクトは、その後、方法である
オブジェクトに属しているもの。
そして、これはあなたが宣言する方法である、 方法の一種。
あなたは、再び、リターンで開始する タイプ - だから、私は色にしようとした
ここにキーワードをコーディングすることにより、あなたたち 少なくとも、書式設定を見ることができます
機能との類似点 宣言とメソッド宣言。
だから、あなたは、あなたが知っている、とのリターンを開始 タイプ - この場合には、アレイの、または
NSArrayのポインタ -
そして、あなたは、このメソッドを持っています。
そして、何をここで興味深いのは、ある その代わりに、括弧を持っていることの、私たち
これらのコロンを持っている。
そして、私たちの引数の前で、私たち かっこ内に、再び、置くタイプ
私たちの引数の。
>> だから、今、私が作るしようとしている あなたが知っている、Nとの間の比較
数、彼らがしているので のような整数の両方。
そして、他の1 NSUIntegerタイプです。
そして、Objective-Cのと、ときに に複数の引数を持つようにしたい
あなたの方法句、あなた、ソート、 ちょっとこのようにそれらを分離 -
私はそれを記述する方法を全くわからないんだけど、 しかし、これはどのように良い例です
そこに複数の引数を持つことができます。
>> あなたは、もちろん、ただ完全に可能性 andArrayコロンを無視したNSArray
あなただけの方法を望んでいた場合、配列 それは1つの引数を取り込む。
はい、質問です。
>> 観客：NSUIntegerとの両方である で撮影することができたNSArray引数
NSArrayの中で？
>> RHED SHI：はい。
だから、私に説明してみましょう。
だから、そう。
だから、質問はNSUIntegerだった 引数のNSArrayの*型、
それは正しいです。
だから、あなたはいつも何を指定する あなたの引数の型がある。
そしてここで、私はあなたを紹介しようとしている の構文と語彙の一部に
Objective-Cのため、これらは、実際のタイプです あなたが扱うことができますことを。
>> そして、あなたが気づくように、配列 並べ替え、されなくなりました、
簡単なブラケットの事。
彼らは、オブジェクトだ。
が、我々は次のセクションに行けば スライド、我々は我々ができることがわかります
ハードコードとObjective-Cの中のNSArray 単純にアットマークの前で
かっこ。
私はないんだけど、実際には、かなり確実か 私は、構文的に配列をハードコードされた
正しくCバージョンのために、それはだ Cの配列にすることになって。
>> そう、これはあなたが、あなたが知っているだろうかですが、 おそらく機能または使用
我々は以前に作成したメソッド。
右？
我々は宣言する場所ので、これは私たちの 機能と私たちの方法。
そして今、我々はそれらを使用したい 我々のプログラム、及びこれが
どのように我々はそれを行うだろう。
だから、Cでは、あなたは、あなたが知っている、持っているだろう おそらく、BOOL bを、あなたはそれを設定する
その関数に等しく、かつ あなたは、引数を渡します。
>> Objective-Cで、それはかなりです ずっと同じこと。
あなたは、NSArrayの*のは、my_arrayを持っており、それはだ 等しくしようとして - 今、唯一の
ここでの違いは、このオブジェクトのことですが、 その私が黄色で強調表示したし、
ご覧のように、C言語で、そこ 他に黄色の言葉はありません。
とメソッドが属しているためにです 特定のオブジェクトと。
私は、オブジェクトを持っている必要がありますだから、なぜです それは、種の上でこのメソッドを呼び出します
その後、数字のゼロ、および のNSArrayのa、b、c、d。
その上の任意の質問？
>> 私たちはアクションでこれらの概念が表示されます もうすぐ私たちはデモに行くとき。
[OK]をクリックします。
今、私は簡単に少しお話したいと思います あるXcodeの5、約
統合開発環境 あなたはと仕事ができるだろうと。
私は、あなた方の多くを知っているか、あなた方のうちの何人か 問題となっているMacを、持っていない
Xcodeは利用できないため、 WindowsとPC用。
なぜ、おそらく私に聞かないでください -
企業、うん。
何でも。
しかし、いずれにせよ、そのように、私はいくつかの場合に謝罪 あなたはいくつかの並べ替えをダウンロードする必要がない
でのMac用仮想マシン Xcodeの5を実行するため。
しかし、それはかなり気の利いたです 使用するソフトウェア。
>> だから、我々はあらゆる種類に飛び込む前に、 デモ、私はあなたが表示したい
Xcodeのは、あなたの中でどのように見えるかの絵 窓、次にもの話
この全体の空間は何であるか。
だから、それは一種の学習のようなものだ方法 あなたがしたい除いて、Microsoft Wordを使用して
すべてに慣れ取得 そのさまざまなこと
ここで起こっている。
>> したがって、最初、私はあなたを指すようにしたい 上部のツールバーに。
あなたが一番上に、その表示されます、 ファイル名があるでしょう -
または、実際には、プロジェクト名 してから、ファイル名を指定します。
プレーのノートを取り、 停止ボタン。
それらは、あなたがやるものです 上のアプリを実行するために使用して
シミュレータ -
のiOSシミュレータ。
これは自動的に、Xcodeの5が付属しています だから、心配する必要はありません
シミュレータのようなものをダウンロードする。
あなただけのプレーを押して、 それはあなたのアプリケーションが実行されます。
そして、あなたは、あなたと一緒に遊んででき、 あなたはそれが後でどのように機能するかがわかります。
>> 次いで、中心部には、もちろん、ある あなたの美しいコードのすべてが入り
行くつもり。
そして、左側には、よ これを持っている、一種の、フォルダ -
ナビゲーション -
そして、あなたも一緒に、その表示されます フォルダアイコンで、ある
そのそこに他のアイコンの束 後で役に立ちます。
>> そして、右側のユーティリティです あなたと働くことができるエリア
一部のオブジェクトと指定します 知っている、色がどうあるべきか、どのような
テキストフ​​ォントは、エトセトラ、である必要があります。
あなたが行うすべて、ものの 実用領域で、次の操作を実行できます
だけでなく、コードで行う。
だから、私は2を通過することでしょう で、単純に、コードを使用していないの例
すべて - または非常に最小限のコード -
すべてのコードの詩、ちょうどそのようにあなたたち あなたがしてでできることとできないことを知っている
XcodeとObjective-Cの。
>> そして、最終的には、ダウン下部に、 あなたはデバッグ領域を持っている。
だから、あなたはもはや、GDBを実行する必要がない エトセトラ、あなたのプログラムについて。
それは自動的にあなたのためにそれを行います。
そして、あなたはまた印刷することができます この領域へのもの。
だから実際には、後に、我々は通過するだろう mario.c、あなたたちはまだ覚えている場合
Xcodeで、その。
だから、楽しみである必要があります。
>> そして、ちょうどそれを戻すために Objective-Cの、私が強調したいものを
あなたはif文を使ってできる。
Objective-Cのだからそう、あなたが知っている、 Cのスーパーセットで、あなたが行うすべてがある、
文字通り、C.あなたと同じだけの 若干の違いがある。
だから、あなたは、IF用のフォームがわかります 声明は同じです - あなたが持っている
もし、その後、あなたは括弧を持っている 内部の状態、それしてから
どのようなあなたのために中括弧 そこの内部でやってみたい。
>> しかし、私はこのスライドを上にして置きたかった ここでは、単にそれを例示するために、
我々は今のオブジェクトを扱っているので、 我々はこれらの事を使用する必要があります
のように、その文字列に等しいと呼ばれる のであり、偶然にも、この方法
文字列またはNSStringのオブジェクト。
だから、言葉は、この場合、NSStringのである オブジェクト、およびそれがあると呼ばれる方法がある
文字列に等しいし、私たちは渡している 参照するには、ハードコードされた文字列内の
それらが等しいかどうかを 互い。
>> ご不明な点、これまで？
[OK]をクリックします。
そして、私が上の行きたい for文も。
>> したがって、たとえば、我々が望んでいた場合は、ループに C言語での文字列の長さにわたって、この
あなたに精通している必要があります。
と、Objective-Cで、私がしたいですか 、種の、このことを強調するため
この方法は、カウントと呼ばれる。
さて、実際には、私をさせ ちょうどそれを取り戻す。
count配列する方法である。
しかしながら、より具体的だ なぜある配列の財産
ドット表記を使用することができます。
しかし、私はあまりにも多くに取得する必要はありません この概念的なものは、私はちょうどたい
物事がどのように見えるかをお見せするために C.に対するObjective-Cでは様
>> また、私はそれを指摘しておきたい 私はNSUIntegerを使用してきたにも関わらず、
Objective-Cの内のすべての私のiのの前に、 int型であるため、あなたはまた、int型を使用することができます
Objective-Cでは完全に有効で、また。
はい？
>> 観客：それだけです 文体、あるいは -
>> RHED SHI：うん。
だから、あなたはわかりますように -
だから、質問はされたこと ただ文体の問題。
あなたが説明するように、私は、一種の、星を持っている アスタリスクダウン下部にあるもの、および
そのリンクは、スタックオーバーフローが表示されます 誰かが説明する形で、
のintの違い NSIntegerとNSUInteger。
だから、あなたは後でそれについて読むことができます。
これらのスライドは、もちろんであるように、 あなたに利用できる。
>> 見てみましょう。
[OK]を、素晴らしい。
そう、これは、スライドに含まれています 私は、これは素晴らしいと思ったので、
を紹介しますウェブサイト Objective-Cの構文。
だから、実際には、なぜ我々はに移動しない Chromeとこのウェブサイトをチェックしてください！
>> 右。
だから、私はあなたが表示したいもの ここの人はこのイメージです。
だから、これは、種の、どのようなことを行っている あなたがいずれかの内部を見るとしている
Xcodeのファイル。
実際に、なぜ我々だけ取ることはありません 、一種の、インチこれを取るために時間
>> だから、この本 -
つまり、そのオブジェクトの 私たちは、扱っている。
そして、それは明らかになるだろう 他のオブジェクトから継承されますが、
あなたはそれを心配する必要はありません。
次いで、それは、おそらく、有する いくつかのメンバ変数。
>> 私がお見せしたい重要なこと ここでインスタンスメソッドである。
そのため、インスタンスメソッドが示されている このマイナス記号による。
あなたが気づくようにしてから、我々はしている すでにパラダイムを見始め
メソッド宣言のために、右？
戻り値の型、メソッド名、および その後、引数の型、および
その後、引数の名前。
このマイナス記号は、それがだことを意味します ことを意味し、インスタンスメソッド、
これらのメソッドは、にのみご利用いただけます インスタンス化されたオブジェクト。
>> プラスとそれを対比させる、方法 彼らの前に記号がクラスであり、
あなたが呼び出すことができることを意味した方法、 あなたが持っていない場合でも、これらの方法、
まだ作成されたオブジェクト。
だから、明確な例のため、 NSStringのクラスです。
そして、あなたは、たとえば、呼び出すことができ、 NSStringの上のクラスメソッド -
実際、のように、単語のNSString。
>> ただし、これらを使用するために 方法、実際に
文字列を作成する必要があります。
たとえば、NSStringのスター文字列は等しい 引用符で、ハローワールド。
そして、あなたはこれらのメソッドを使用することができます -
インスタンスメソッド -
そのハローワールドストリング上。
だから、それは違います インスタンスメソッドとクラスメソッド。
>> そして、私たちはこの部分をカバーした。
プロパティは次の別のものである オブジェクトの内側に、基本的には。
そして、あなたは、それらを宣言 propertyキーワードで。
あなたがここに、これらのオプションを持っている、 とき、私は後で説明しますことを
我々は、デモに入る。
はい？
こんにちは。
>> 読者：あなたは、してください、ズームインもらえますか？
>> RHED SHI：ああ。
申し訳ありません。
>> 観客：ありがとうございます。
>> RHED SHI：たくさん良いはずです。
>> 観客：うん。
ありがとう。
>> RHED SHI：ええ、私に思い出さよろしければ 私は、ズームインまたはズームアウトすることを忘れない。
だから、これは私が望んですべてです のためにお見せする -
おっと、それはたくさんある -
このウェブサイトのための。
それでは、戻って私たちのスライドに行きましょう。
>> 実際に、今度は、少し時間をとってみましょう デモにダイブする。
そこで、我々は始めましょう 新しいXcodeプロジェクト。
だから、あなたは、すべての上でXcodeを開くいただければ あなたのマシンは、それはあなたにいくつかを取る必要があります
それは、オープンどちらかのような、言うページ 既存のプロジェクトまたは新しいアップ
プロジェクト、あなたがすべき [新しいプロジェクト]をクリックします。
そして、それは取る必要があります この画面に。
はい？
>> 観客：我々は、Macをお持ちでない場合は、 私達はちょうど種類の寒さですか？
>> RHED SHI：またはを振り返る 誰かと、ええ。
うん。
あなたも、リラックスすることができます。
[OK]をクリックします。
>> だから、私たちは今、最初にやろうとしている、 実際に、私たちがやろうとしている、ある
単一のビューアプリケーション。
あなたは気づくのであれば、何が素晴らしいことだ Xcodeとアップルのサポートについて
開発者は、あなたがたくさんあるということです すでにで動作するテンプレート。
あなたは、例えば、作ることができる マスター·ディテール·アプリケーション。
あなたがゲームを作ることができます -
そして実際に、私はゲームに入ることはありません、 ゲームは別の話であるため、
iOSの開発のため。
そして、彼らは、この種の別々だ ので、私はそれには触れません。
>> 次に、ページベースました アプリケーション。
あなたは、タブのアプリケーションを持っている -
そのような、例えば、バンク·オブ·アメリカ おそらく、のように、タブ付きのアプリを持っています。
それはあなたが持っているものだ 下部のボタン。
そして、あなたはスプライトキットゲームを持っている。
>> またはあなたが、最初から働くことができる 後でやることです。
しかし、まず、みましょうで始まる 単一のビューアプリケーション。
そして、その製品名を聞いてみよう、 そして我々は単なるテストを行うことができます。
組織名 -
そのため、組織名、 会社の識別子 -
あなたが行っている場合は、それらのことが重要である アプリストアでアプリを入れて。
それ以外は、あなたのコードをしようとしている このなしで絶対に罰金を実行します。
>> もしあれば、これは重要になるだろう 欲しい - そう、それ自体が、同じように、あなたのアプリを出す
お使いの携帯電話か何か、およびテストへ それうち、あなたが知っている、実際の生活の中で -
これは重要になります。
これは通常に関連付けられる傾向にある 開発者アカウントのいくつかの並べ替え
Appleと。
>> だから、私は、おそらく、あなた方の多くを知っている すべての開発者アカウントを持っていません。
私は大学は1を持って知っている。
私はCSが1を持っていると思います。
しかし、あなたは私にメールすることができますし、私が試してみます あなたのためにそれを把握する。
しかし、今、私はちょうどに入れてきた ここではいくつかのプレースホルダのこと。
>> そして、あなたは、当然のことながら、ここでは、選択することができます あなたはそれが単独であるとするかどうか
iPhone、アプリ内、またはその両方 -
ユニバーサルアプリケーション。
だから、今のところ、ただ、のは普遍的なやらせる プラットフォームの両側を参照します。
>> 見てみましょう。
だから、今、私が保存するつもりだ そのフォルダのいくつかの並べ替え中。
どこに問題ではない - あなたを 後でいつでも移動することができます。
そして、今、私たちは持っている 私たちのXcodeプロジェクトに。
私はこのすべてを心配しないでしょう。
私は、任意に触れていないお勧めします これ、あなたが正確に何を知っていない限り
あなたがやっている。
だから、このすべては、単に無視 ほとんどの部分。
もしあればあなたはそれに触れる必要はなくなります ここにいくつかのことをご混乱を行い、それ
少しトリッキー取得します。
>> では、なぜ我々はに見ていない 上のファイル
ナビゲーター中の左側。
ここでは、AppDelegate.hを持っています。
私たちはあなたとわかるように、AppDelegate.mそうしてい 通知書は、どのファイルを、ヘッダました
ドット時間で終了し、我々は持っている 実装 -
実際に、私はズームインしましょう
[OK]をクリックします。
私はズームインしましょう
>> 右で登録して、ファイルをヘッダとしている あなたが実装ファイルを持っている。
実際に -
[OK]をクリックします。
これは少し奇妙である、 しかし、私と一緒にクマ。
その後、我々は単一のビューを選択したので、 アプリケーション、我々はするつもりだ
ストーリーボードでの作業。
>> だから、ストーリーボードは、Appleのものです 本当に助けるためにを打ち出している
開発者が迅速にプロトタイプ その応用。
作成可能な場所ので、これは 記述することなくアプリ
一行のコード。
しかし、我々の単一のビュー·アプリケーションで、 我々は、もちろん、aはありますか
これ、私たちの見解を申請 ビューコントローラです。
そこで、我々は、ヘッダを持っているし、 ここで実装ファイル、。
>> そして、私は今、ズームアウトするつもりですので、 私たちは、ストーリーボードでは動作する必要があります。
だから、ここに私たちの見解です。
私たちならば、単純に、今のアプリを実行し、 起こって多くの刺激的ではありません。
だから、あなたは、この白い画面が表示されます。
OK？
>> そして、私たちのユーティリティ分野では、追加することができます それとは異なるものの束。
だから、あなたはスクリーンを扱っているとき IOSでは、ビューコントローラがある
カプセル化するオブジェクト、 あなたの意見、のようなもの。
いつも、ビューコントローラ ビューというプロパティがあります。
そのビューは、通常、含まれています、 あなたが知っている、何を
画面上に表示したい。
>> だから、まあ、ちょうど置くことから始めましょう、 おそらく、多分ラベル。
それでは、そこにラベルを置いてみましょう -
途中でそれを貼り付けます。
だから、今、私は、ラベルにクリックしたことを プロパティインスペクタに行くことができます
し、その値を変更し始める。
それではCS50色と呼ぶことにしましょう​​。
>> そして、私はまた、フォントを変更することができます。
そうではなく、システムを行うための デフォルトでは、我々は独自の1を行うことができます。
我々は、変更することができます -
あなたが知っている超軽量、それ32にする。
そして、我々は我々のボックスを大きくすることができます。
>> 読者：あなたがズームすることができますと思いますか 多分、もう少しだけ中？
>> RHED SHI：そうですか？
[OK]をクリックします。
>> 観客：ちょうどそれをタップする？
>> RHED SHI：見てみましょう。
この仕事をしていますか？
>> 聴衆：ちょうどXcodeを渡す？
>> RHED SHI：確かに。
[OK]をクリックします。
素晴らしい。
>> 観客：ラベルの下に？
ラベル？
>> RHED SHI：あれは、何ですか。
>> 観客：どのようなドロップダウン ラベルが下にあった？
>> RHED SHI：だから、質問は、何であったか ドロップダウンの下にラベルでしたか？
それは、単に、ここの下でなければなりません。
私はそれがキューブの事だと思う。
しかし、通常は、これがデフォルトです -
私はちょうどここにダウンつもりだ 私はラベルを見つけるまで。
うん。
>> だから今、我々は我々のラベルがあります。
のは、それを中心にしてみましょう。
とXcodeは私たちに指針を与え オブジェクトをセンタリングする。
だから、今度は再び我々のコードを実行してみましょう。
>> そこに私達は行く。
そこで、我々はCS50色を持っている。
そして今度は、ボタンを配置しましょう そこには、右？
我々は確認したいので、 このインタラクティブな。
それでは、ここにボタンを配置してみましょう。
そして、我々はここをタップ」は、このボタンを呼ぶことにします 継続する。 "我々はまた、それを中央によ
実際に、それはすでに中心にいます。
うん。
>> だから、今、我々はボタンがあります。
我々は再び、これを実行した場合、我々は行っている ここに素敵な小さなボタンがあります。
そして、私はそれをクリックすることができますが、それは行いません どちらかといえば、我々は行っていないため、
まだボタンを使って何。
>> それでは、右、別のビューを作成しましょう​​？
それでは、私はタップしましょう そのボタンと私がしたい
別のページに移動します -
別のビュー。
私は何をするつもりだが、私は作成することができます ビューコントローラは、右？
さて、私のボタンをクリックし、次に、よ 重要なことは、私はするつもりです
クリック - または -
はい、私のキーボードのプレス制御。
コントロール。
ボタンをクリックしてから、ドラッグします。
>> そのため、コントロールキーを保持するために覚えている。
それでは、もう一度それをやってみましょう。
だから、、コントロールを保持する]をクリックし、ドラッグ あなたが何をしたいのかを。
[OK]をクリックします。
>> そして今、私はここでいくつかのオプションがあります。
私はどちらかでき押し込んだり、私が行うことができます モーダル、または私がカスタムを行うことができます。
プッシュは、使用している場合にのみです ナビゲーションコントローラ。
今、私たちの非常に最初のビュー コントローラは、任意の内部ではありません
ナビゲーションコントローラ。
そのため、ナビゲーションコントローラが1である それはあなたの上の[戻る]ボタンを提供します
あなたが持っているのiOSアプリは、あなたが知っている、 そのトップ、一種の、太いバー -
あなたが戻って行くことができる場所、または 前進、エトセトラ。
今、私はそれを持っていません。
私はプッシュを行うことはできません、なぜので、それはです。
>> だから、私はプッシュをクリック 誤って、ここに。
そして実際に、のは、コードを実行してみましょう、 そしてそれは私にクラッシュする必要があります。
私は、ボタンを押した場合にのみ しかし、そのように -
右。
だから、これは悪いです。
>> そして、あなたは、ここで、我々を見ることができるように エラーメッセージが表示されている。
だから、「プッシュセグエは場合にのみ使用できます 光源制御部は、によって管理される
UIナビゲーションコントローラのインスタンス。 " そう、これは内部ではなかったので
ナビゲーション制御部、 私はそれを行うことができませんでした。
>> だから、今、私は戻って行くよ フォルダ、バックストーリーボードに行く。
>> 観客：ナビゲーションは何ですか コントローラ、再び？
>> RHED SHI：だから、今私はあなたが表示されます。
見てみましょう。
だから、私は、このビューをクリックするつもりだ コントローラ、その後、私は行くつもりです
製品まで -
実際には、いや、ごめん - 編集者。
そして、私は入るつもりです -
実際に、私はそれをクリックしたのか？
いいえ。
そこに私達は行く。
私がダウンして、エディタに上がるつもりだ 中埋め込むし、ナビゲーションする
コントローラ。
>> [OK]をクリックします。
そして、私のワークスペースは、本当に厄介な見え それでは、これをクリーンアップしてみましょう。
だから、このすべては、ストーリーボードです。
そして、このように -
[OK]、停止する -
私はすぐに何かを構築することができます このように。
そして、今私はあなたが知っている、戻って行くことができますか？
>> しかし、これはちょっと退屈な、ですよね？
だから、私は何をしたいのか、私はしたくないさ 、単に、ビューを作る
コントローラ。
のは、私が実際にしたかったとしましょう テーブルビューコントローラなので、私は中置くことができます
テーブルにいくつかの素晴らしい色、。
>> だから、今私は自分のテーブルビューに置かれていることを コントローラー、私はそれを接続する必要があります
このボタンからの ビューコントローラ。
だから私は私のコントロールを行う必要があり、 再び、ドラッグのことをクリックします。
私は埋め込むので、今は、プッシュを行うことができます そのナビゲーションコントローラの内部。
>> 観客：ナビゲーションコントローラだけ あなたは場所から場所へ行くことができます？
>> RHED SHI：はい。
だから、より技術的に、それはだ オブジェクト場所 -
そう、ナビゲーションの内側 コントローラオブジェクトは、
配列を追跡します。
その配列は、後続のすべてを保持している コントローラを表示します。
なぜあなたが戻って押したときには、これだけです 前のページに行く。
なぜなら、ナビゲーションコントローラ オブジェクト、またはの面倒を見るのコード
このオブジェクトは、続けてアレイを有し、 これらのビューコントローラの追跡、
そして、あなたが知っている、ビューをDQができる コントローラとあなたをお返し
以前の1。
>> だから、これは技術的なものですが、 -
と私は後であなたが表示されます コー​​ド、我々は時間があれば。
私は時間に不足して一種のだけど、 -
>> そのため、テーブルビューで、 私たちにできることはある -
これは通常、自動的に設定だ ダイナミックプロトタイプに -
我々はそれ静的細胞するつもりだ、 そうでなければ我々はするつもりだ
いくつかの問題に遭遇する。
>> そして、の私は行くよと言ってみましょう 1セクションを持っている。
だから、セクションでは、のようなものです -
あなたがこれまでに音楽アプリを見てきた場合には、とき あなたは芸術家、のセクションを持っているだろう
Z'sを通じてAのこと -
手紙 -
そして、あなたが知っている、個々の 行は、アーティスト名になります。
だから、ここではクールである何、私ができることです 内部のすべてのオブジェクトにアクセスする
この介して自分のストーリーボードの ドロップダウンメニューを、あまりにも。
>> だから、私は私のセクションをクリックするつもりだ、 そして私は、あなたが知っている、おそらく5行をしたい。
次いで、各列の内側に、 私はラベルを載せていきたいと思います。
そして、私はこのブルーを呼ぶつもりです。
そして、私はあなたは、UIビューを配置する 多分少し箱のような、のために、知っている。
>> 私は人々を表示することができるように 色のプレビュー。
と私は戻ってプロパティに行くよと ああ、私にはない、その色を次のように変更します
、これを知っている。
>> そして、私が持っている場合は、こちらにも注意してください 付属品は、私は多くを持つことができます
異なるアクセサリーの あなたは一般的に見ている。
クロージャインジケータ、詳細、または マークを確認するか、単純に細部。
だから、多分私達は、のように、開示を行うことができます 指標、例えば。
>> そして、なぜ我々は、これらのコピーを取るこ​​とはありません それらを貼り付け、に入れ
次の表の行。
そこで、我々はこの黄色を呼び出すことができます。
そして私はこれを拡張する必要がある場合があります。
のは、それが黄色にしましょう​​。
そして、このように、我々はコピーすることができます 我々の方法を下に貼り付けます。
それは何でしたか？
紫。
>> そう、これらはすべて、一般的なCS50です あなたはクラスで見てきた色 -
実際に、申し訳ありません -
またはウェブサイトで。
うまくいけば、あなたたちは見ることができます 私がここで何をやっている。
[OK]をクリックします。
ラスト1。
>> 観客：どのように追加しました 最初に行？
>> RHED SHI：だから、問題はどのようになりました 私が最初に行を追加しましたか？
私は、このテーブルセクションに入った - またはしかし私ができる
テーブルセクションを選択 -
そして、ここで、私が更新した 行の数。
>> そして、私はこれが機能することを期待しましょう​​。
[OK]をクリックします。
これが動作するかどうか見てみましょう。
ああ、完璧な、素晴らしい。
[OK]をクリックします。
私はいくつかの、私のデモを構築しながら、 物事を揃えたので、感謝のためにされませんでした
拍手。
>> うん。
それでは、見てみましょう。
我々は、この9は単に作る作ってあげる すべて - あるいは実際に、みましょうだけ
開示にこれらのすべてを回す 指標。
そして、私もお見せしたいもの、 私はそれらのそれぞれを活用する方法だった
テーブルの行と、それらの相互作用がある -
オハイオ州。
いいえ。
>> ああ。
また、私はあなたを表示したい -
ここで、私は自分のタイトルを入れることができます ナビゲーションコントローラ、右？
ですから、実際に、あなたはすぐに私のような、わかります 内部に埋め込まれ、このビューコントローラ
ナビゲーションコントローラの、我々は参照してください。 私たちの一番上にあるこのナビゲーションバー
ストーリーボードの表現 ビューコントローラの。
だから、これは、視覚的な、のように、私たちに与えます 並べ替え、私たちの目に見える画面に導く。
これは明らかになるだろう ナビゲーションバーも。
>> と私はすぐにやってみたい、 今、別のに入れて -
私はでなかったので、このテーブルビューコントローラ これらのいずれかを取り、それをドラッグ
ここで、それは私には許されているものです すぐに、実際に、テーブルビューを作成する
コントローラ。
我々はしかし、時間を持っている場合は、よ それを参照して、プログラム的に、それはだ
もう少しトリッキーなテーブルを作成するには そこに理由ビューコントローラ、
ある方法のカップルです あなたは、一種の、書くことのために必要
テーブルビューのための順序で行う コントローラが正しく表示されます。
>> しかし、私はちょうど今、お見せしたい、 私はこれを取ればここでの例、
例えば ​​-
私は別のビューコントローラに置かれている。
そして今度は、私がコントロールしたいとしましょう 私の非常に最初の青ALT
ここでテーブル行。
そして、私はこのブルーを呼びたい。
してから -
見てみましょう。
私は今、ビューにいる、と私は変更することができます 青の背景。
>> だから、予告、ここでは、このドロップダウン メニューには、あなたのすべての階層を提供します
これらのオブジェクトの。
ここで、注意すべき非常に重要なこと、 ここでこれらすべてのもの、つまり -
このテーブルビューコントローラ、テーブル ビュー、テーブルビューセクション、テーブルビュー
細胞 - これらのすべてです コー​​ド内のオブジェクト。
だから、あなたが知っている、ラベルが今の下にある コンテンツビュー、エトセトラ。
などなど。
>> だから、我々はこのコードを実行した場合、我々は 何かを見る必要があります -
この場合は、見てみましょう - うん。
だから、そこに私達は行く。
しかし、我々はそれをしない場合は、なし これらの他のものは動作します。
右？
だから、これだけで動作します。
そして、時間のために、私はしません 入れて、あなたが知っている、に入る
他のものダウン。
そして、これは終わりです、 ストーリーボードのソート -
私が見せたかったものを ストーリーボードのためのあなた。
>> そして、私が働いた例を持っている、 実際に、ちょうどここ。
だから、これはストーリーボードです 私が以前に作った。
だから、あなたが見ることができるように、これはだった 私のナビゲーションコントローラ。
それから私は私の最初のView Controllerを持っていた、 その後、私は私のテーブルビューコントローラを持っていた、
そして私は、これらのすべてを持っていた -
そう、以前、私がやっていた 非常に異なるもの。
だから、それらの事を言い訳。
私はおそらく後で前にそれをきれいにします 私は生産にそれを送る。
>> 我々はこれを実行するなら、我々は表示されます オプションはすべてしていること
私達に利用できる。
私は背景をしなかった場合を除き それらの色。
だから、素敵なシンプルなアプリケーション。
>> それでは、取り組むために試してみましょう このプログラムで。
[OK]をクリックします。
だから、そのためには、我々だけで行っている 新しいXcodeプロジェクトを開始します。
我々は、今では空のアプリケーション作ってあげる 我々はしたくないので、
ストーリーボード。
だから、私は単純にしないように自分自身を制限しています ストーリーボードのいずれか、および使用
空のアプリケーションはないでしょう 私にストーリーボードを与える。
これはちょうど防ぐことです 不正行為から自分自身。
見てみましょう。
待つ。
私がやった -
はい。
[OK]をクリックします。
>> 右。
だから、ここに、我々は残されている 他に何もないが、コード。
だから、私は、このウィンドウを移動しましょう わずかに超え。
右。
あなたがここに見ることができるように、ファイルのみ 私たちは、与えられただているAppDelegate.hドット
M、そして我々が持っていない もうストーリーボードになります。
>> 我々はこれを実行するのであれば、我々はまだしようとしている 白い画面を表示する、神に感謝。
[OK]を - 白い画面が、何もない。
そして、ここで重要な部分です。
アクションが起こる場所です。
以前のバージョンでは、あります 通常、このコードが、ない
ストーリーボードは、基本的に提供して この部分のコード。
私は方法の詳細には触れません。
>> そして、私たちが今やりたいことは、私たちが望む、ある ここに行き、この小さな空間に
再び我々のアプリを作成して開始します。
そう -
はい？
>> 観客：ズーム？
>> RHED SHI：ズーム。
確かに、うん。
[OK]をクリックします。
私のように入力されますので、これはいけない 問題が多すぎる。
[OK]をクリックします。
>> そこで、まず、我々は作りたかったの覚えている ナビゲーションコントローラ、右？
また、ここで見ることができるように、Xcodeの の本当に素晴らしい仕事をしていません
自己充填。
だから、あなたは気づくように、名前の すべてがたくさんより長いです
通常、しかし、Xcodeはあなたのためにそれを埋める。
だから、僕はEnterキーを押します。
>> だから、私は、UIナビゲーションを作成したい コントローラのポインタ、そして私はそれを呼び出すことができます
navigationController。
今、私は今何をしますか？
この等号の後に、私が最初に必要とする、 メモリの内部では、作成します。
だから、私はNavigationControllerをするつもりだ のalloc -
そう、これはmalloc関数と似ていますが、 C言語で使用される皆さん、その -
そして、私はそれをinitにするつもりです。
>> だから、それは本当に重要だと任意の 作成したオブジェクトを、あなたがしたい
のalloc、それを初期値を指定
それは、それを作成するために起こっていると メモリの内側にinstantializeし、
今、あなたはそれを使用することができます。
大丈夫？
あなたはそれをしないと、オブジェクトがない 存在し、あなたがたくさんに実行することになるでしょうしない
問題の。
>> そして、私が作成したい ビューコントローラは、右？
だから、私はUIViewControllerのを作成したい スター -
そう、すべてがポインタである Objective-Cの、と私は何をするつもりだ
似たような、ここに -
のalloc、initは。
[OK]をクリックします。
>> して、私は何をするつもりだと、私は、ある に行く - 我々が行った時にそう、覚えて
ナビゲーションコントローラに埋め込み？
これは、コードでそれを行う方法です。
あなたはnavigationControllerをやろうとしている
pushViewController -
>> 観客：[聞こえない]。
これが私たちのために起こる、あるいはでしょう - ？
>> RHED SHI：ああ、うん。
いいえ。
それはよりよい私を好きだ。
いいえ、それはあまりにも、あなたのために働くだろう。
したがって、これらは、すべてのメソッドである。
そうpushViewControllerは方法であり、 また、より具体的には、だ
UIのインスタンスメソッド ナビゲーションコントローラ。
私は自分のUIのナビゲーションを作成する必要がありましたので、 コントローラのスター、そして私
私にこのpushViewControllerを呼び出すことができます UIナビゲーションの特定のインスタンス
コントローラ。
>> 観客：我々は正確に行う必要がありますか ワード、または、既にそれのために存在するのか？
>> RHED SHI：はい、それは方法だから。
これは、関数のようなものだ。
これはprintfのようなものだ。
これは、scanf関数のようなものだ。
それはstrcompareようなものだ。
それはあなたがしたいかもしれないものを知っている場合を除き 入力していることに注意して、常によ
ある物事を考え出す 合法的にあなたを可能にした。
だから、何もここに表示されない場合、 何かが間違っている。
>> だから、pushViewController。
だから、今、私がプッシュする 私の新しく作成された
のUIViewControllerし、その後、アニメーション -
おそらくではない。
これがあることを行っているので、 最初のビューコントローラ。
私は、私は、アニメーションにするなかった場合でも、意味 それはおそらく、表示されませんので、
それが最初の画面です。
>> とブラケットを覚えています。
だから、我々はブラケットを使用方法を覚えて？
ブラケットの内部では、 オブジェクトは、メソッドを呼ぶ -
その私たちのオブジェクトは、ナビゲーションです 制御装置、および方法は、プッシュされ
View Controllerは、アニメーション。
そして、それは、2つの引数、方法を見て、 それらは一種の、で区切られている、
言葉、とコロン。
だから、Objective-Cのは、それが素敵にしよう あなたが声を出して読みやすい -
あなたのコード - 半それを持って、 並べ替え、意味をなす。
>> しかし、まさにこれをやって 十分ではありません。
私は現在、ズームアウトしてみましょう。
ただこれを行うとするのに十分ではない 我々が以前に得たものを手に入れる。
だからここに、あなたがそこにあることがわかります 実際にどんな種類のことを行っていない
ここでは、バー、右？
全くナビゲーションバー、手段はありません 我々はまだそれをもらっていないこと。
>> そして、我々はそれをテストすることができ、また、することで、 おそらく、の背景を変更する
ViewControllerを、右か？
ViewController.background- -
ああ。
だから、のViewControllerを持っていなかったかを見る 背景色、たとえ私
それにアクセスしたいですか？
そして、それはだからのViewController ビューのコンテナです。
だから、それは、Viewプロパティを持っている 次いで、背景色を有する。
>> そして、私は一種のうんざりするほど、それを設定することができ、 色を呼び出すことによって、
UIColorオブジェクトの。
だから、ここにお知らせし、REDCOLORはメソッドです。
それはUIcolorのクラスメソッドです。
私が作成する必要はありませんでしたので、 順番にUIColorの実際のインスタンス
その上でメソッドを呼び出すことができます。
私は、単純に、それと呼ばれる タイプのような名前に。
int型が持っていた場合、私は、のような、、、int型の上に呼ばれる のような、例えば、それへの方法。
>> 我々はこのコードを実行した場合とそう、我々はよ 背景であることに注意してください
実際には赤ではない。
それはまだ白いです。
そして、どのように我々は、つまり、回避することができます self.windowがあるのに注意してください。
つまり、同じように、最終的なコンテナです アプリケーションの。
それが含まれています究極のものです 画面上のすべてのもの、
iPhoneやiPadアプリケーション。
>> そして、便利なことに、self.window このプロパティは、呼び出した
rootViewController。
そして、それはへのポインタであることを行っている 内部の非常に最初のビューコントローラ
アプリの。
だから、我々は今、ここに何をしたいのか、です 私たちのナビゲーションへそれが等しくなるように設定する
コントローラ。
右？
技術的には、ナビゲーション、なぜなら コントローラは、私たちの非常に最初の図である
コントローラ。
これは、他のビューのアレイを追跡 コントローラ、および我々はこれをプッシュ
その配列へのビューコントローラ ナビゲーションコントローラ。
>> だから、あなたはこれを行うにはしたくない。
それは本当にあなたを助けないだろう。
あなたがやってみたかった場合は、これをしたい ほとんどのナビゲーションコントローラ、
あなたはおそらくあなたが望むだろうになるための 、一種の、のようなものを持っている、
などが挙げられるが、これらに戻るには、メニューまたはいくつかの のではなく、バックに移動するには、ホームページ
空の画面が表示されます。
はい？
>> 観客：それは不快である あなたが上でズームインするための -
>> RHED SHI：うん。
そう、そう。
これは今のコードであり、 それではそれをテストしてみましょう。
>> だから、そこに私達は行く。
魔法。
だから、[OK]をクリックします。
ありがとう。
[OK]をクリックします。
ので - だから今、私たちがやりたいことはある 我々は正しい、ここでは、種類の限られている？
我々は、潜在的にすべてのものを書くことができます この1関数の内部。
しかし、それはどのようにiOSの開発ではありません 通常動作します。
>> だから、私たちがやろうとしていることであり、我々はしている いくつかの新しいファイルを作成するつもり。
しかし、具体的には、我々はするつもりだ 別のObjective-Cのクラスを作成したり、
別のオブジェクト -
クラスとオブジェクトは交換可能 ここに。
そして、ここでは、潜在的に、どのように私ができるだ Uコントローラの別のクラスを作成します。
>> あなたが気づくように、それは、サブクラスです ここでは、のサブクラスです
UIビューコントローラが、私はでき ここに他の名前を付けます。
私は呼び出すことができ、このCS50を呼び出すことができます このView Controllerは、私が呼び出すことができます
この何とかビューコントローラ -
私が欲しいもの。
これは、クラスの名前だけです。
しかし、それは重要なことになるだろう 基本的に、私は何をやっている、なぜなら
ここに、私が作成しています 別のクラス名。
だから、それはいくつかのような、になるだろう 型またはオブジェクトの一種。
だから、それは少し一般的なである必要があります。
それは非常に具体的であることを行っていない。
>> また、私が指すようにしたいです これら二つのオプションが不足しています。
我々は内部のすべてをやっているので、 コー​​ドは、時にはそれが非常に簡単です
このようなことを、インターフェイスファイルを持ち込む 私は、文字通りのように、ドラッグ＆ドロップすることができます
私たちは、ストーリーボードを以前行った -
あなたが知っている、ラベル、ボタン、 さもないと何でも。
だから、xibsはあなたができるようにするファイルです そのために、あなたはそれをフックする必要が
このビューコントローラファイルへ。
>> だから、私は意図的にするつもりだ これをチェックしない。
通常、私はこれをチェックして、私の場合だろう 唯一の私は、iPhoneやiPadのためにこれをやった
これをチェックすると、単純に1を持っているでしょう iPhoneやiPad、あなたが知っている、のために。
しかし、私は普遍的なやっているので、私は行くよ 後で、これらのうちの2つを作成します。
だから、私は意図的にするつもりだ このチェックを外します。
>> また、これは本当に重要です。
多くの時間、私はバグを持っていた ここはチェックされませんでした。
だから、明らかに、このファイルはありませんが、 並べ替えのような、含まれているか、またはインポートされた
このテストフォルダの内部。
だから、私のコードは絶対にないアイデアを持っていません このファイルの存在、および
つまり、多くの痛みを引き起こす およびデバッグの時間。
しかし、念のため、これはそのようにチェックされている つまり、あなたが知っている、この目標
ファイルは、このアプリケーション用です。
>> [OK]をクリックします。
だから、今、私たちは、2つの新しいファイルを作成しました。
これらのファイルはかなり空に見える。
そして、実際に、のはまた続けましょう XIBファイルを作成してください。
そう、以前、私がしていた ココアタッチのドロップダウン。
今、私は、ユーザーに行くつもりです インターフェイスタッチ、あなたが見ることができるように、私
ストーリーボードを作成することができます。
>> そうであっても、私は空を開始 アプリケーション、私はまだ使用することができます
ストーリーボード。
それは用語でトリッキー取得しますが あなたが接続する方法の
そのコードに。
だから、私はそこに行くことはありません。
>> しかし、私たちが何をしたいのか 今のビューを作成することです。
そして、あなたがのために選択することができます iPhoneやiPad。
典型的には意味する 違い - あなたがやっている場合
ユニバーサルアプリケーション -
もしどちらかアンダースコアiPhoneを置く、 または、クルクル回したを行うことができます。
それは本当に問題ではありません。
あなたが差別化するのは、単にです ビューには、そのデバイス用である。
>> だから、今にしています。
私は一緒に仕事ができ、画面を持っている。
ですから、例えば、私はラベルを置くことができます ここに、あなたが知っている、と私も置くことができます
ここに別のボタン。
私は変える気にしません ここで値。
>> しかし、ここで重要なのは何だ そのファイルの所有者 -
だから、私は、iPhoneの中だ ビュー、iPhone XIBファイル。
このナビゲーション領域にダウンしているか ドロップダウンメニュー、私がに行きたい
ファイルの所有者。
そして、これは実際にある ここで重要なステップ。
私は、クラスビューを作りたい コントローラは、このXIBファイルがあるように
に関連付けられるだろう 私のビューコントローラ。
そして、私は私の見解の中何でも コントローラは、プログラムである
ここに反映されるだろう。
>> だから、しかし、それに気づく -
実際に、のは、このビューを作ってみよう 例えば背景青、。
または緑。
そして、あなたは後ろに、わかりますので、もし 我々は我々に到着したところ、このコードは、これはある
ナビゲーションコントローラ。
>> 我々は、そのステップをしたにもかかわらず、それはだ まだ緑、赤ではないことになるだろう。
と理由があります。
我々はれ初期化すると、からだ ここに私たちのビューコントローラ、 -
申し訳ありませんが、それは少しクレイジーだ -
我々は、ここで我々のView Controllerをれ初期化するとき 我々は、一般的なタイプで、それをれ初期化
のUIViewController。
OK？
だから、私たちもしませんでした このクラスでそれ。
>> だから、これは現在のクラスのようなものです、覚えています。
それはちょうど、タイプと考えることができます UIViewControllerのタイプであるように。
そして、それを使用するためには、どのような 我々は実行する必要があり、それをインポートしている -
輸入のViewController -
そして、あなたが見ることができるように、 私のためにそれを自動入力する。
だから、のViewController -
そして今、ここで、私はこれを変更することができます のViewControllerへのUIViewController。
そして今、ここで、私は変更することができます これのViewControllerへ。
>> それでは、もう一度、これを実行してみましょう。
それはまだ赤です。
そして、それはだ理由 まだ赤い理由は -
すごい迫力、何がそこに起こったのですか？
我々は、このXIBを関連付けたいと思った ビューコントローラを持つファイル。
しかし、実際に行うために、 つまり、我々は、この中に移動する必要があります。
そして、我々は、initを行うと、私たちがやってみたい initWithNibNameし、私たちがしたい
文字列View_iPhoneでやる 次に例を示します。
あなたがここにバンドルを無視することができます。
>> そして、これができるようになるだろう 私たちが実際に -
ええとああ、問題があります。
右。
>> だから、問題はそこにある、なぜなら 我々の見解のXIBファイルは、ラベルを持ち、
私たちは、ボタンがあります。
しかし、我々は、接続されたにも関わらず、 これらの2は、内部に何もない
ViewController.hまたはViewController.m それらを反映する
ボタンまたはこれらのラベル。
だから、我々としてのものを記述する必要があります ビューコントローラのプロパティ。
>> そう、これはあなたが宣言する方法です 財産。
これは通常、取り込み、 これら二つのオプション。
私たちとこのセミナーの目的のために、 私は、一般的には、次のことを言うだろう
ほとんどのプロパティは非アトミックである と保持します。
あなたは、Googleが検索することで、最大読むことができ、 あなたが知っている、との違い
アトミックと、あなたを上に保持 、Googleや何かを知っている。
そして、私は、スタックのような、ページへ移動します 人々がありますオーバーフロー、
差異の答え それらの間。
しかし、今のところ、それは私たちです を気にしたいと思います。
>> そして、我々は、UIラベル、スターを作りたい、 そして我々は我々が好きなことを呼び出すことができます。
私たちは、あなたが知っている、ラベルが呼び出すことができる。
そして、我々は別のものを作成します ボタンの1。
とアスタリスクを含めることを忘れないでください、 我々は、ポインタを扱っているので、
ほとんどどこでも内部 Objective-Cのの。
>> しかし、それはまだ解決していません あなたがここに見ることができるように問題。
そしてその理由は、理由はいつでも私たち XIBファイルのラベルまたは接続したい
プログラムにあるボタン、またはヘッダー と実装ファイル、我々がしたい
コー​​ドのこの部分を追加します -
アウトレット。
それがキーワードだことに注意してください。
>> そして、すぐに私が入力を終えとして そのうちに、これらを有するべきで
ここでは2円、。
通常、それらは記入していない
私は、彼らがしている理由はよく分からない。
しかし、通常は、手動でする必要があります のこちら側に移動して、それらを接続する
ユーティリティエリア。
>> だから、今、私は自分のラベルを持っている 選択された、と私は、この新しいをドラッグしたい
、私のファイルの所有者にコンセントを参照 、[ラベル]をクリックします。
だから今、最終的には、このラベルがある このラベルに接続されている。
このラベルは、我々がしようとしているものです それを変更するプログラムで使用
テキスト、そのフォント、背景 色、エトセトラ。
>> それでは、なぜ行っておりません ボタンも同じ？
そして、あなたが気づくように、ボタンの、 それは少し複雑です。
あなたがことになっている、私が意味する、なぜなら ボタンを押しますので、それは多くのことを持っている
どのようにユーザーのためのオプション ボタンを押すことができます。
そして、我々はそれに後で表示されます 我々は我々にこれを接続することができます
それを動作させるためのコード。
>> だから、今でも、我々は接続したい それ実際のボタンに
我々のコードの内側。
だから我々は、新しい参照元のアウトレットに行く し、ボタンをします。
それでは、もう一度、これを実行してみましょう。
OH UH。
[OK]をクリックします。
私は今ここで何が起こっているか分からない。
おっと。
ここだけの一瞬。
>> 実際に、なぜ我々は取ることはありません 別の例を見て
時間の都合。
[OK]をクリックします。
だから、ここではより容易に調製さだ のViewControllerのための例。
あなたがここに見ることができるように、私が用意しました プロパティ
ラベルとボタン。
そして、ここでは、コードのこの作品 -
このIBaction -
ここには、このボタンへの接続だった。
あなたは、ここをタッチアップ内部を見ることができるように セレクタに接続されている
ボタンを押すと呼ばれる。
>> そこで、我々は実際に通過することができます タッチアップを取ることによって、再び、ここに運動、
内側とにドラッグ その後、ファイルの所有者、および
押されたボタンをクリックしてください。
それでは、我々のコードを実行してみましょう。
だから今は、このボタンは機能するようになりましたし、 次のページに、私たちがかかります。
>> そして、私たちのビューコントローラの観点から、 これは取ったコードの一部である
押したボタンの世話。
そしてそれは、ここで注意することが重要だと 私は、ビューの別のタイプを作成しました
テーブルと呼ばれるコントローラ ビューコントローラ。
そう、これは、バックと同様であった ストーリーボードは、私のいずれかをドラッグ
これらのテーブルビューコントローラ ストーリーボードに。
私は別のものを作成しています
>> テーブルビューコントローラへのポインタ、 のallocとinit-ING、それをしてから行って
自己ドットナビゲーション制御部、 のViewControllerをプッシュ、この新しい
のViewController。
そして、私はイエスにアニメーションを設定して、 今私のアプリの内部にあるため、私
実際にアニメーションが行く見たい ホームページからテーブルへ
ビューコントローラ。
>> 読者：あなたはまだ心配しないでください ガベージコレクションはどうでしょうか？
>> RHED SHI：あれは、何ですか。
いいえ。
だから、問題は、あなたが持っているか、だった ガベージコレクションを操作するには？
だから、Xcodeの4はある、円弧状に持っていた 自動参照カウント。
だから、通常は、新規の起動時に プロジェクトには、それをチェックするため、
誰もが本当に対処したいと考えていません メモリやものを解放する。
しかし、私はXcodeの5で、でもそこにはないと思う 新しいプロジェクトには、そのオプション。
だから、それを自動的に あなたのためにそれを行います。
はい？
>> 観客：エクスポートすることはできます ストーリーボードでのPDF？
>> RHED SHI：うん、間違いなく。
したがって、これらの全ては、に含まれる ソースコードは、あなたたちがチェックアウトすることができますので、
そのため、実際のXcodeプロジェクト。
うん？
>> 観客：しかし、私は私が、のような、ことを意味 私のストーリーボードを使用してPDFを印刷？
私はただエクスポートする場合 誰かを表示するイメージ。
>> RHED SHI：そうそう。
私は多分、あなただけのことができ、考える スクリーンショットを撮る。
ええ、およびそれらに画面を送信 ショットか何か。
うん。
>> それでは、見てみましょう。
時間の都合で、私は思う つまり、すべてのLは、今日カバーすることができます。
しかし、私はちょうど、実際に、それは知っている やっとのiOSの表面に触れ
開発。
そう、あれば私に連絡すること自由に感じなさい あなたをiOSについてご質問がある
開発。
そして、うまくいけば、私はきれいにすることができるでしょう ソースコードの一部まで
コー​​ドファイルには、いくつかあるでしょうように、 で動作するように本当に素晴らしい例。
>> それ以外は、あなたたちがしようとしている場合 CS50ハッカソンために、私は月か5月
がある、と私は助けることができていない いくつかのiOS開発にも。
だから、どうもありがとう、みんな。