Swiftで遊ぼう!の古い記事-> Life-LOG OtherSide

2016年4月2日:追記

「view」はUIViewのサブクラスで長方形の領域を表していて、描画やタッチイベントを処理します。

「view」は階層化されて存在するため、必ず1つのsuperviewを持っていることになります( var superview: UIView? )。しかし、サブビューは幾つ持ってもいいし、持たなくてもいいようです( var subviews: [UIView] )。実際のところこのサブビューは[AnyObject]になりますが、iOSフレームワークの開発の歴史から説明されています。

UIWindow

Xcodeプロジェクトで「Single View Application」テンプレートを利用すると自動生成されるし、シングルビューで作業する限り意識することはありません。実はこのUIWindowですがUIViewのサブクラスに位置づけられ、AppDelegateクラスで自動生成されてスクリーン全体を覆います。

f:id:yataiblue:20160402143539j:plain

自動生成されたwindowの中でViewは生成され、それをコントロールするViewControllerも用意されるのでその上で開発者はコードしていくことになります。AppDelegateでインスタンス化するwindowプロパティが持っているUIViewControllerクラスのプロパティ名がrootViewControllerになり、AppDelegateクラスから、開発中のViewControllerを制御するためにrootViewControllerを開発中のViewControllerにキャストしなければなりません。

今日はここまで