5
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Swift nil 強制アンラップをしない!

Last updated at Posted at 2019-02-01

#超基礎? nill の合体演算子について。(1分程度で読めます。)


##optional って難しい!って感じません?
swift初心者にとって一番最初につまずくのは optional 型 のところではないでしょうか?
私自身、 optional型ってなんやねん!!とりあえず ! つけたらいいんか。。。っと思っていました。
例えば以下の例
###あるoptional型の値がnilの時に0を代入する作業を行なったとします。


私は以前以下のようにコードを書いていました。

optional.swift
//nはoptional型とします。
var a = n!
if n == nil{
           //nill の時の処理
           a = 0
}


強制アンラップ(!を)せずに上記と同じコードを書いてみる

optional2
//もしn がnilの時aには0を入れる
//nil出ないときはそのままnを入れる
var a = n ?? "0"


##後者のように書く利点!

  • コードの量が少なくなる!
  • 一回一回nilかどうか確認しなくてもよくなる!


もし中身がnilで強制アンラップしてしまった場合、プログラムが落ちるということがあります。(私は度々経験してきました。)
だから私は、後者の方をお勧めします!


###最後に
今回あまり時間がなかったので詳しく丁寧に説明することができませんでした!
ちょこちょこ編集していきたいと思います。

5
2
1

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
5
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?