【Swift】公式リファレンスの読み方!アプリ開発必須【iOS/Apple】

iOSアプリ開発

iOSアプリを自由自在に開発するためには、公式リファレンスを読む力は必須です。
なぜなら、言語が比較的あたらしいSwiftは、他の言語に比べて日本語解説サイトが圧倒的に少ないからです。w

Search - Apple Developer

上記が公式リファレンスの検索ページ。

iOSアプリにおいて、基本中の基本であるコンポーネント「UIView」について調べてみましょう。

これが「UIView」のリファレンスページです。
当然のように英語ですが、すべて読む必要はありません。見るべきはページ下部付近の「Topics」というところです。

ズラズラと何やら並んでおりますね。順番にみていきましょう。

先頭に「init」と書かれている項目

先頭に「init」と書かれている項目は、「生成する時に定義すべきこと」について書かれています。

init(frame: CGRect)

たとえば上記の場合、「UIViewを生成する際は、必ずCGRectを定義せよ」という意味になります。
CGRectというのは四角形を生成してくれるなんか便利なヤツのことです。UIViewはCGRectで生成された四角形の中に生成されるんですね。(ややこしい)

実際のソースコードはこんな風になります。

let MyView = UIView.init(frame: CGRect.init(x: 0, y: 0, width: 100, height: 100))

これで100x100サイズのUIViewが生成されます。
よく見るとCGRectにもinitが設定されていることが分かると思います。CGRectのリファレンスページもみてみましょう。

CGRect:

init(origin: CGPoint, size: CGSize)

CGRectを生成するためには、今度はCGPoint・CGSizeの2つを定義する必要があるようです。

CGPoint・CGSizeのリファレンスページをみてみましょう。

CGPoint:

init(x: Double, y: Double) //例でいう「x: 0, y: 0」の部分にあたる

CGSize:

var width: CGFloat //例でいう「width: 100」の部分にあたる
var height: CGFloat //例でいう「height: 100」の部分にあたる

・・・とまぁこのように
どんどんと深い階層を辿っていくと、リファレンスページのinit部分には「生成時に必要なもの・定義の仕方」が書かれているんです。

UIViewについては、すでにインターネット上に先人たちの日本語訳付き生成方法が記載されているので、わざわざリファレンスを確認する必要はないと思います。

ですがマイナーな部品を生成したい時、リファレンスページのinitは役に立ちます。ぜひ覚えておいてください。

先頭に「var」と書かれている項目

先頭に「var」と書かれている項目は、「インスタンスプロパティ」と呼ぶ情報です。
UIViewの設定項目みたいなイメージで捉えるとわかりやすいかもしれません。

var backgroundColor: UIColor?

たとえば上記は、UIViewの背景色を設定するためのインスタンスプロパティです。UIColorで色を指定してほしいようですね。

実際のソースコードではこんな風に使います。

let MyView = UIView.init(frame: CGRect.init(x: 0, y: 0, width: 100, height: 100))
MyView.backgroundColor = UIColor.black

これで100x100サイズの真っ黒なUIViewが生成されます。

インスタンスプロパティは使い方がシンプルでわかりやすい!

先頭に「func」と書かれている項目

先頭に「func」と書かれている項目は、UIViewが持つ「メソッド」を表しています。メソッド、つまりUIViewが持っている機能ということです。

func addSubview(UIView)

たとえば上記は「あるUIViewの中に別のUIViewを追加する」という機能です。

これは説明するより実際に見た方がはやそう。

黒いビューを作成し、赤いビューを作成し、黒いビューの中に赤いビューをaddSubviewしました。赤いビューのCGPoint(x: 0, y: 0の部分)を変更すれば、位置も調整できますよ。

addSubviewを使えば、写真の上にスタンプを乗せる処理なんかが出来そうですね。

とまぁこのように、funcの項目には使い勝手のいい機能の情報が詰まっています。「おっ、こんなこともできるんだ!?」と発見があり面白いのもfuncの項目です。リファレンスを楽しむにはおすすめです。(・∀・)


Category
9WEB