swiftに関するよくある質問をまとめてみました。
##Double型を使用した際、小数点以下の桁数が不安定に表示されるのですが、どうすれば直りますか?
表示の問題なので、基本的には気にする必要はない。
気になる場合は、小数点の桁数を揃えるなどして表示してあげるのが1つ方法としてある。
ex)ラベルにnumberの数字を表示させる処理を書く際に、
label.text = String(number)
ではなく、
label.text = String(format: “%.2f”, number)
としてあげると、*小数点以下の桁数を揃えて表示*できる (.2というのが小数点以下の桁数を表す)!
あとは、以下のリンクのように、四捨五入や切り捨てを使う手もいいかもしれない。
https://picolica.com/2017/02/23/swift3-ceil-floor/
##@IBOutletと@IBActionの違いはなんですか?
@IBOutlet
変数varに対してつける。(静的)
自分がおいたUIパーツに名前をつけるイメージ。
関数funcに対してつける。(動的)
関数(=複数の処理をまとめたものに名前をつけたもの)をButtonなどのアクションを起こす系のパーツに紐づけるイメージ。
IBの意味と必要性について
IBとは、Interface Builderの略で、文字通りアプリのインターフェースを構築するツールを指す。
iPhoneやiPadでは、さまざまなアプリで共通する画面や共通するボタンをがある。Appleでは、どんなアプリでも共通した操作性を実現できるようにUIKitというフレームワークが用意されている。これによりiOSアプリは、ユーザーが直感的に扱える、操作性の高いものとなっている。
しかし、なぜ共通した操作性があった方がよいのか?
例えば「スイッチ」というものをイメージしてみると、人によっていろんなデザインの「スイッチ」が思い浮かぶが、その中にはとても斬新なデザインの「スイッチ」があるかもしれない。
でも、その斬新なデザインは一見すると他の人には「スイッチ」と分からないかもしれないし、そういうデザインは、どのように操作するのかも分かりにくい。直感的に操作できるアプリは、誰が見ても分かるデザインの部材によって構成されている。そしてAppleは、ユーザーにとって操作性の良いアプリを開発者が生み出しやすいように上述したUIKitを用意したのである。
UIとはユーザー・インターフェースの略だが、UIKitはボタン、スイッチ、スライダー、ラベルといったものから、文章、画像、地図、Webページなどさまざまなユーザーインターフェースの部材を扱っている。
こうしたアプリを構成する部材を便宜的にオブジェクトと表現し、このUIに関するオブジェクトをグラフィカルに組み合わせて、アプリの画面を設計するツールがまさにInterfaceBuilderである。