πŸ’‘ TIL - 22.07.06 | Mission

saniΒ·2022λ…„ 7μ›” 7일
2

μ•žμ„  κ³Όμ œμ—μ„œ νšŒμ›κ°€μž… λ²„νŠΌ 클릭 μ‹œ 쑰건을 νŒλ‹¨ν•˜λŠ” κΈ°λŠ₯ κ΅¬ν˜„μ„ μ‹œλ„ν–ˆλ‹€.

μ‚¬μš©μžκ°€ νšŒμ›κ°€μž… λ²„νŠΌμ„ λˆ„λ₯΄λ©΄, μ‚¬μš©μžκ°€ ν…μŠ€νŠΈν•„λ“œμ— μž…λ ₯ν•œ 이메일과 λΉ„λ°€λ²ˆν˜Έλ₯Ό ν™•μΈν•˜λŠ” μ½”λ“œλ‹€.
TextField에 아무것도 적지 μ•Šμ•„λ„ κ°•μ œ μ–Έλž©ν•‘ μ½”λ“œμ—μ„œ 였λ₯˜κ°€ λ‚˜μ§€ μ•Šμ•„, ν…μŠ€νŠΈν•„λ“œμ˜ text에 λŒ€ν•΄ μ°Ύμ•„λ³΄κ²Œ λ˜μ—ˆλ‹€.



ν…μŠ€νŠΈν•„λ“œμ˜ textλŠ” Optional String이닀.



심지어 여기에 λ‚˜μ™€ μžˆλ‹€. default 값이 nil이 μ•„λ‹ˆλΌ @"" 라고....
(@λŠ” Objective-C semantics인데, λ¦¬ν„°λŸ΄ μŠ€νŠΈλ§μ€ μ•žμ— @λ₯Ό λΆ™μ—¬μ•Ό ν•œλ‹€κ³  ν•œλ‹€.)



ν•˜μ§€λ§Œ 아무것도 μž…λ ₯ν•˜μ§€ μ•Šμ„ κ²½μš°μ—λ„ ν…μŠ€νŠΈν•„λ“œμ˜ text 값은 nil이 μ•„λ‹ˆλΌ ""이닀.
(nilκ³Ό ""은 λ‹€λ₯΄λ‹€)



passwordTextField.text = nil
print("passwordTextField.text: \(passwordTextField.text)")

심지어 μœ„ μ½”λ“œμ˜ κ²°κ³ΌλŠ”

이렇닀 γ…Ž....
nil이라고 μ•„μ˜ˆ 지정을 ν•΄ μ€˜λ„ nil이 μ•„λ‹Œ Optional("")λ₯Ό κ°–λŠ” 것이닀.

μ‚¬μš©μžκ°€ nil을 ν…μŠ€νŠΈν•„λ“œμ— 지정할 μˆ˜λŠ” μ—†κΈ΄ ν•˜λ‹€.




μ–΄μ¨Œλ“ ,

아무것도 μž…λ ₯ν•˜μ§€ μ•Šμ•„λ„ nil이 μ•„λ‹Œλ°, μ™œ ν…μŠ€νŠΈν•„λ“œμ˜ textλŠ” Optional String일까?




λ‹΅(?)은 이렇닀.
Objective-Cμ—μ„œλŠ” μ‚¬μš©μžκ°€ λ³€μˆ˜μ— nil을 ν• λ‹Ήν•˜λŠ” κ±Έ 막을 방법이 μ—†μ—ˆκ³ , 결과적으둜 textκ°€ Optional이 될 수 밖에 μ—†μ—ˆλ‹€κ³  ν•œλ‹€.

였래된 API듀은 일일이 μˆ˜μ •(?)λ˜μ–΄ μ™”κ³ , 그건 λΆˆν•„μš”ν•œ μ˜΅μ…”λ„λ“€μ„ μ—†μ• λŠ” 게 μ£Όμš” λͺ©μ (?)μ΄μ—ˆλŠ”λ°, 이것도 μ œκ±°κ°€ 됐어야 ν–ˆλŠ”λ° μ•ˆ 됐닀며.. 버그라고 λ³΄λŠ” 개발자(?)듀도 κ½€ μžˆλŠ” 것 κ°™λ‹€.


λ‚˜μ€‘μ— ν…μŠ€νŠΈν•„λ“œλ‘œ 받은 값듀을 μ–΄λ–»κ²Œ λ³€ν˜•ν•˜λŠλƒμ— 따라 λ‹¬λΌμ§ˆ μˆ˜λ„ μžˆκ² μ§€λ§Œ,
일단은 μ‚¬μš©μžκ°€ 아무 값도 μž…λ ₯을 μ•ˆν•΄λ„ nil이 μ•„λ‹ˆλ‹ˆ κ°•μ œ μ–Έλž©ν•‘μ„ 해도 λœλ‹€κ³  봐도 될 것 κ°™λ‹€.




(좜처)
κ°“νƒμ˜€λ²„ν”Œλ‘œμš°0
κ°“νƒμ˜€λ²„ν”Œλ‘œμš°1

profile
πŸ‘©πŸ»β€πŸ’»

0개의 λŒ“κΈ€