LinkedIn์ nil๊ณผ Null์ ์ฐจ์ด์ ๋ํ ๊ธ์ด ์ฌ๋ผ์์์ด์ ์์ฝํด๋ณด์๋ค.
ํ๋ก๊ทธ๋๋ฐ์ ํ๋ฉด์ '์๋ฌด๊ฒ๋ ์์'์ ํํํ ํ์๊ฐ ์๋๋ฐ, ์ด ๋ Objective-C์์ ํฌ๊ฒ 4๊ฐ์ง ํํ์ ๋น ๊ฐ์ ๋ํ๋ด๋ ํํ์ด ์๋ค.
์๋ฏธ | |
NULL | C pointer์ null ๊ฐ์ ์๋ฏธ |
nil | Objective-C์ object๋ค์ ๋ํ๋ด๋ null ๊ฐ |
Nil | Objective-C์ class๋ค์ ๋ํ๋ด๋ null ๊ฐ |
NSNull | null์ ํํํ๊ธฐ ์ํ single tone object |
Swift์์ NULL, Nil์ ๋ค๋ฅผ ์ ์๋ค.
Null์ Objective-C์์ object๊ฐ ์๋, ์ฆ struct์ ๊ฐ์ ํ์ ๋ค์ ๋น ๊ฐ์ ํํํ๊ธฐ ์ํด ์ฌ์ฉ๋ pointer value์ด๊ณ , nil์ object๋ค์ ๋น ๊ฐ์ ํํํ๊ธฐ ์ํด ์ฌ์ฉ๋ pointer value์ด๋ค.
ํ์ง๋ง Swift์์ Null์ ์ฌ๋ผ์ก๊ณ , nil์ pointer๊ฐ ์๋, ํน์ ํ ํ์ ์ด ์์์ ๋ํ๋ด๋ ๊ฐ์ผ๋ก ์ฌ์ฉ๋๊ณ ์๋ค.
์ฆ Objective-C์ ์์ฌ๋ก pointer๋ก ๊ฐ์ฒด์ ์ ๊ทผํ๋ ๊ฐ๋ ์ด ์ฌ๋ผ์ง Swift์ nil์ด๋ผ๋ ๊ฒ์ด ๋จ์์๊ฒ ๋์๊ณ ์ด๋ ๋ค๋ฅธ ์ธ์ด์ null๊ณผ ๋์ผํ ๊ฐ๋ ์ด๋ผ๊ณ ์ดํดํ๋ฉด ๋๋ค.
Objective-C์์: nil์ ์กด์ฌํ์ง ์๋ object๋ฅผ ๊ฐ๋ฆฌํค๋ pointer
Swift์์: nil์ pointer๊ฐ ์๋, ํน์ ํ์ ์ value๊ฐ ์์์ ๋ํ๋ธ๋ค.
'Swift' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Swift] lazy var ์ฌ์ฉ ์ retain cycle ์ฃผ์ (0) | 2023.01.16 |
---|---|
[Swift] Int vs Int32, Int64 (0) | 2023.01.07 |
[Swift] Extension์์์ Override (0) | 2022.10.01 |
[Swift] Extension์ Stored Property๋ฅผ ๋ชป ๋ฃ๋ ์ด์ (0) | 2022.09.27 |
[Swift] Generic where clause ์ฌ์ฉ ์ '==' vs ':' (0) | 2022.09.25 |
๋๊ธ