์ค์ํํธ๋ฅผ ์์ํ๊ณ nil์ด๋ ๋จ์ด๋ฅผ ์ฒ์ ๋ค์ด๋ดค๋๋ฐ, ๊ทธ๋ฅ NULL์ด๋ ๋น์ทํด๋ณด์๋ค,,
๊ทผ๋ฐ ์์ธํ ์ฐพ์๋ณด๋ NULL๊ณผ๋ ์์ฐํ ๋ค๋ฅธ๊ฒ์ด๋ผ๋ ๊ฒ์ด๋ผ๋ ๊ฒ,,์ด๋ผ๋,,,,
๊ทธ๋์ ์ด๋ฒ์๋ NULL๊ณผ์ ์ฐจ์ด์ ์ ์ฒดํฌํ๋ฉฐ nil์ ํ์คํ ๊ฐ๋ ์ ๋ฆฌ๋ฅผ ํด๋ณด๋ ค๊ณ ํ๋ค.
๐ nil
nil์ '๊ฐ์ด ์์'์ ๋ปํ๋ค.
2021.06.06 - [๐ Swift Note] - [Swift] Optional(์ต์ ๋) ์ ๋ฆฌ
์ด์ ์ ์์ฑํ ์ต์ ๋ ์ ๋ฆฌ ๊ธ์์ ๊ฐ๋จํ ์ธ๊ธํ์๋๋ฐ,
๋ฌธ์์ด ""๋, ์ซ์ 0์ ์์ฐํ ์กด์ฌํ๋ ๊ฐ์ด์ง๋ง nil์ ์ ๋ง ๊ฐ์ด ์๋ ๊ฒ์ ๋ปํ๋ค.
๊ทธ๋ฐ๋ฐ ์ฌ๊ธฐ์ ๊ทธ๋ฅ ๊ฐ์ด ์๋ค๊ณ ํ๋ฉด, NULL๊ณผ ๋น์ทํ๋ค๊ณ ํท๊ฐ๋ฆด ์ ์๋ค.
ํ์ง๋ง ๋์ ์๋ก ๋ค๋ฅด๋ค.
โ๏ธ NULL
NULL์ C์์ ์ฐ์ด๋ ๊ฒ์ผ๋ก, ์ด๋ ํ ๊ฐ๋ ๊ฐ์ง์ง ์๊ณ ์๋ค๋ ๋ป!
๋์ ๋น์นธ๊ณผ๋ ๊ฐ์ ๊ฐ๋ ์ผ๋ก, ์ด์ฉํ ์ ์๋, ํ ๋น๋์ง ์์, ์ ์ฉ ๋ถ๊ฐ๋ฅํ๋ค๋ ์๋ฏธ์ด๋ค.
์ข ๋ 'C์ ์ผ๋ก' ๋งํ๋ฉด, ํฌ์ธํฐ๊ฐ ๊ฐ๋ฆฌํค๋ ๊ฐ์ฒด๊ฐ ์กด์ฌํ์ง ์๋๋ค๋ ๊ฒ์ด๋ค.
๐ C ์ธ์ด์ Pointer ๊ฐ์ ๋ถ์ฌ!
โ๏ธ nil
nil์ Objective-C, Swift์์ ์ฐ์ด๋ ๊ฒ์ผ๋ก, ๋จ์ํ ์๋ฏธ์์๋ NULL๊ณผ ์ ์ฌํ๋ค.
ํ์ง๋ง '์ด๋ค'๊ฐ์ด ์๋๋๊ฐ ์ค์ํ๊ฒ ๋ค.
Objective-C์ nil์ Objective-C ๊ฐ์ฒด์ ํด๋์ค์ ๋ถ์ฌ๋ฅผ ๋ํ๋ด๊ณ ,
Swif์ nil ๊ฐ์ ๊ฒฝ์ฐ์๋ Objective-C ๊ฐ์ฒด์ ๋ถ์ฌ๋ฅผ ๋ํ๋ธ๋ค.
์์ ์ด์ผ๊ธฐ๊ฐ ์กฐ๊ธ ์ด๋ ต๊ฒ ๋ค๋ฆฐ๋ค๋ฉด,
Objective-C์์์ nil์ ์กด์ฌํ์ง ์๋ ๊ฐ์ฒด์ ๋ํ ํฌ์ธํฐ์ด๊ณ ,
Swift์์์ nil์ ํฌ์ธํฐ๊ฐ ์๋๋ผ, ๋จ์ง ํน์ ํ์ ์ ๋ํ ๊ฐ์ ๋ถ์ฌ๋ฅผ ๋ณด์ฌ์ฃผ๋ ๊ฒ์ด๋ค.
์ด๋ ๊ฒ ์ดํดํ ์ ์๋ค.
๐ Swift์์๋ ํน์ ํ์ ์ ๋ํ ๊ฐ์ ๋ถ์ฌ๋ฅผ ํํ!
[ nil ์ฌ์ฉ ์์ ]
import Foundation
let str1 = "123a"
let str2 = "123"
print(Int(str1) == nil ? 0 : 1)
print(Int(str2) == nil ? 0 : 1)
๊ฐ๋จํ๊ฒ nil์ ๊ฐ๋ ์ ์ ์ ์๋ ์ฝ๋๋ฅผ ์์ฑํด ๋ณด์๋ค.
๊ฐ๊ฐ ๋ค๋ฅธ ๋ฌธ์์ด์ ์ ์ธํ๊ณ
ํด๋น ๋ฌธ์์ด์ด nil ๊ฐ์ ๊ฐ์ง๋์ง ์์๋ณด๋ ์ฝ๋์ด๋ฉฐ, ๋ค์์ ์ ์ฝ๋์ ์ถ๋ ฅ ๊ฒฐ๊ณผ์ด๋ค.
-> ๋ฌธ์์ด์ Intํ์ผ๋ก ๋ณํํ์ ๋,
Intํ์ผ๋ก ๋ณํํ ์ ์๋ ๋ฌธ์์ด์ด ํฌํจ๋ str1์ ๊ฒฝ์ฐ์๋ 0์ ์ถ๋ ฅํ๋ ๋ชจ์ต์ ๋ณผ ์ ์๋ค.
๐ ์ ๋ฆฌ ๐
Swift์์ nil์ ํน์ ํ์ ์ ๋ํ ๊ฐ์ ๋ถ์ฌ๋ฅผ ์๋ฏธํ๋ฉฐ, NULL๊ณผ๋ ๋ค๋ฅธ ๋ป์ ๊ฐ์ง๋ค.
์ฐธ๊ณ
- http://wiki.hash.kr/index.php/%EB%84%90
- https://medium.com/hoontopia/null-nsnull-nil-nil-5467d2842ccb
- https://you9010.tistory.com/232
'3๏ธโฃ Swift > Swift ์ ๋ฆฌ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Swift] Type Annotation๊ณผ Type Inference (ํ์ ์ด๋ ธํ ์ด์ ๊ณผ ํ์ ์ถ๋ก ) (2) | 2021.06.11 |
---|---|
[Swift] Int, Int64? (0) | 2021.06.09 |
[Swift] let ํค์๋๋ฅผ ์ฌ์ฉํ๋ ์ด์ (์์๋ฅผ ์ฌ์ฉํ๋ ์ด์ ) (2) | 2021.06.09 |
[Swift] ์ค์ํํธ์ ์ธ์ด์ ํน์ฑ (2) | 2021.06.09 |
[Swift] Optional(์ต์ ๋) ์ ๋ฆฌ (4) | 2021.06.06 |
๋๊ธ