CS193p Lecture 4

iTunes U スタンフォード大学のiOSアプリ開発講義のLecture 4(Views)を見ました。

講師とSteve Jobs

この講義が行われた日の前日にSteve Jobs氏が亡くなったようで、講義の始めに講師のPaul Hegarty氏がSteve Jobs氏について思い出などを語っています。

それによると、Paul Hegarty氏は、スタンフォード大学を卒業してすぐSteve Jobsの誘いでNeXT Computerに就職したそうです。

そして、そこで8年間、Steve Jobs氏の情熱とエネルギーに引っ張られてノンストップで働いたそうです。

その時にそこで作ったテクノロジーは、20年経った今でもクールでホットなテクノロジーで、それがまさしくSteveのビジョンの忘れ形見ということです。

なるほど、Objective-CやiOS/OS Xの原型を作った人だったんですね。それでこの講義がとてもわかりやすいんですね、納得です。

 

Calculatorの改造デモ (6:00〜)

電卓アプリをプログラム計算機にするために再帰処理を実装するデモがありました。

計算用のスタックがコピーされて合計3つも出来るので混乱します。分かりやすく図にするとこうなります。

runProgramがクラスメソッドなので、その中で使用されるデータはその場限りで処理が終わったら戻り値以外はクリアされます。

 

Views (33:00〜)のメモ

■座標系

  • iOSの座標系はMacと上下逆で、左上が原点
  • 単位はpixelではなくポイント
  • pixelへの変換率は、contentScaleFactor(UIViewのプロパティ)で決まる

■drawRect:

  • システムが使うメソッドなので自分ではCallしない
  • drawRectは呼び出されるたびに新しいコンテキストを作成するのでdrawRect:の中で使うためにコンテキストを保存してはいけない

■透明度

  • 透明度を変更する時は、UIViewのopatueプロパティをNOにセットしておく
  • Viewを表示させないようにするためには、透明度を変更する以外にもhiddenプロパティを使用するすることも出来る(hiddenの方がパフォーマンスが良い)
  • テキストはNSStringを使用するが、これはUIKitフレームワークでオリジナルのNSStringに描画用のメソッドが拡張されている

<前の記事 

RPN電卓アプリの課題1 - CS193pのLecture 4の課題
次の記事>