LoginSignup
12
13

More than 5 years have passed since last update.

Swift よく出てくるつまづきポイント

Last updated at Posted at 2015-06-19

・最近Swift触り始めたので初心者の今のうちにつまづきポイントを列挙する

とりあえずプロジェクトが作れない

スクリーンショット 2015-06-19 23.47.57.png

まずProductNameには作りたいアプリの名前を入れる
Organization Nameは作る団体名もしくは個人なら自分の名前
Organizationをググると組織名、構成、機構とでる

次がよく分からなくなるポイントだと思う

Organization identifierこれは直訳すると組織の識別子ということ
アイデンティティの確立のアイデンティティである

つまりは世界に唯一の名前を書けということを言っているらしい

世界に一つだけのものといえばURLやDNAぐらいだろう
(世界に一つだけの花と考えた人は筆者と年齢が近いだろう笑)

それはさておき、DNAよりはURLの方が簡単なので
com.whisponやcom.yahooという風に書く

なんで、反対から書くかといえば、com.whispon.testapp.Main.storyboard
のようにidentifierの後にどんどん増えていくからである。
大体最初の方はこれぐらいかと思う


変数

次は変数について、変数とは変わる数である
ピンと来ない人もいるだろうので、付け足すと変数とは入れ物で自由自在に数字や文字や画像などなんでも入れれる入れ物。入れ物なのでその中身は変えることができる。
x = 3
というのは数学的には意味ないがプログラムの世界では意味がある
左辺に右辺を代入するという意味である
つまりxに3を代入しろということ

Swiftの話に戻すと、
例えば
var number = 0
というのがあると思う
varってなんだよと思うであろう。おもってくれ!
variableという英語である意味は調べろ!(※調べることが大切です!)

なんで、文字も数字もvar number = 0
var name = "Noriaki"
という風に書いていいのだろう?

ここでコンピュータの内部の処理を考えてみる

普通のコンピュータの動作....
コンピュータの内部処理は入力→処理→出力である
さらに数字の入出力について考えてみると

整数の数字いくよー→分かった整数だね!!→整数表示してます!
という三人(三段階)がコミュニケーションをとって考えて処理する

しかしSwiftはvar hoge = 0 v
ar hoge = "piyopiyo"
となんでも処理する

そう!もう気づいてくれただろう!型推論をしてくれるのである。
0という数字が来たときはコンピュータは0という整数(integer)がきたぞ!!と推論する
そして0.0という数字が来た時はコンピュータは実数(double)が来たぞと推論する

とまあ内部でこういうことをしているからこんな汚い書き方が許されるのである
しかし誤解がないように言うが、こういう書き方が許されるのは初期化のときのみである

//これは駄目
var number
number = 0.3
これはコンパイルエラーが出る。型推論を利用する場合は初期化のみ

またint型以外の入力を受け付けたくない場合は以下のように書く
var intNumber: Int
intNumber = 4
//以下も可能
var intNumber: Int = 6

また変数名には絵文字も利用できる
使用者にはあまり意味ないがプログラマーは楽しいので開発が楽しく行える!!

var countNumber🐌:Int = 5

次はアウトレットとアクション

@IBAction@IBOutletというのが出てきたと思うが結局のところそれは
メソッドとプロパティ(紐付け)である

一応初心者向けということなので説明すると
IBはInterface Builderの略で”マウスで自由に配置できるもの”という意味で
IBActionはAction=動作や働きという意味である
働きというのはプログラミングでは関数(function)やメソッドと呼んだりする
メソッドとはダイエットで有名な吉川メソッドというのがあると思う
それとまったく同じである

吉川さんがダイエットの方法作ってそれをダイエットしたい人にさせる
つまり吉川メソッドという箱に入ると痩せる人が出てくる
(以下図に示す)
ダイエットしたい人→[処理(吉川メソッド)]→痩せた人
という風に何かを入れたら何かが出てくる
これがメソッドまたは関数である

つまり話を元に戻すと
@IBActionにはさせたい処理を書くのである

次は、@IBOutletである
これはプロパティと話したが、@IBActoinで書いたメソッドとの対応を記すものである
つまり、IBActionで記した動作とストーリーボード上に配置したパーツとを紐付けるものである

まあなんだろう住所といったら分かりやすいかな
鉛筆の住所は貴方の筆箱であり。レッドブルの工場は外国のどっかであり、そのものの対応関係を書く場所である

とまあとりあえず、これくらいが初心者のつまづきやすいポイントではないだろうか
もう少し分かりやすいように説明できたら編集します

12
13
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
13