iOS & Mobile ๊ฐ๋ฐ์ ํ๋ฉด์ ๋ ์ฌ๋๋ ์ง๋ฌธ๊ณผ ์๊ฒฌ๋ค์ ๋ํด ๊ธฐ๋กํ๊ณ ์์ต๋๋ค.
๋ฉด์ ๋ง์ ์ํด์๊ฐ ์๋๋ผ iOS ๊ฐ๋ฐ์ ํ ๋ ํ ๋ฒ์ฏค์ ๊ณ ๋ฏผํด ๋ด์ผ ํ , ๊ณ ๋ฏผํด ๋ดค์ผ๋ฉด ํ๋ ์ ๋ค์ ๊ธฐ๋กํ๊ณ ์์ต๋๋ค. ๋จ์ํ ์ ์๋ฅผ ๋ฌป๋ ๊ฒ๋ฟ๋ง ์๋๋ผ ๊ตฌ์ฒด์ ์ธ ์ํฉ์ ์ ์ํ์ฌ ๋ฌธ์ ํด๊ฒฐ ์ ๋ต์ ๋ฐฐ์ฐ๊ณ ๊น์ด ์๋ ์ง๋ฌธ์ ํตํด ์ธ์ฌ์ดํธ๋ฅผ ๋ํ๋ ๊ฒ์ด ์ฃผ ๋ชฉ์ ์ ๋๋ค.
PR์ ์ธ์ ๋ ํ์์ ๋๋ค. ๐คฉ
Read this in other languages: English, ํ๊ตญ์ด
- ์๋ฐฑ๋ง ๋ช ์ ์ฌ์ฉ์๊ฐ ์ฌ์ฉํ๋ ์ฑ์ด ์๋ค๊ณ ๊ฐ์ ํ ๋, ์ด์ ๋ฒ์ ์์ ๋ฐ์ํ๋ ๋ฒ๊ทธ๋ ํฌ๋์๋ฅผ ์ต์ํํ๊ธฐ ์ํด์ ์ด๋ค ์กฐ์น๋ฅผ ํ ์ ์๋?
- ํฌ๋์๋ฅผ ๊ณ ์น ๋ ์ฐ์ ์์๋ฅผ ์ด๋ป๊ฒ ์ ํ๋๊ฐ? ์ฑ์์ ์์ฃผ ์ฌ์ฉํ๋ ํ๋ฉด์์์ ๊ฐ๋ ์๋ ํฌ๋์์ ๋ ์ฌ์ฉํ๋ ํ๋ฉด์์์ ๋น๋ฒํ ํฌ๋์ ์ค ์ด๋ค ๊ฒ์ด ๋ ์ค์ํ๋ค๊ณ ์๊ฐํ๋๊ฐ?
- ์ธ ๊ฐ์ Endpoint[Dev, Stage, Prod]๊ฐ ์๊ณ ์ธ Endpoint๋ฅผ ์ค๊ฐ๋ฉฐ ๋ชจ๋ฐ์ผ ์ฑ์ ํ
์คํธํ๋ ค๊ณ ํ๋ค๋ฉด, ์ด๋ค ๋ฐฉ์์ผ๋ก ํด๊ฒฐํ ์ ์๋?
- Build Configuration์ผ๋ก ํด๊ฒฐํ ์ ์๋์ง? ๋จ์ ์?
- ๋ฐํ์์ ํด๊ฒฐํ ์ ์๋ ๋ฐฉ๋ฒ์ด ์๋์ง?
- ์คํ๋ผ์ธ(๋คํธ์ํฌ ์ฐ๊ฒฐ์ด ์ ๋) ๋ชจ๋๋ฅผ ์ง์ํ๋ ์ฑ์ด ์๋ค. ์ฌ์ฉ์๊ฐ ์คํ๋ผ์ธ ์ํ์์ ์์ ํ ๋ด์ฉ์ ์๋ฒ์ ๋๊ธฐํํ๋ ค๋ฉด ์ด๋ป๊ฒ ํด์ผ ํ๋?
- NSCache์ Dictionary์ ์ฐจ์ด์ ์ด ๋ฌด์์ธ๊ฐ?
- Dictionary๋ Thread-Safe ํ์ง ์์๋ฐ, ๊ตฌ์ฒด์ ์ผ๋ก ์ด๋ค ๋ฌธ์ ๋ฅผ ์ผ๊ธฐํ ์ ์๋?
- ๋ ๊ตฐ๋ฐ์์ ๋์์ ์ ๋ฐ์ดํธ๋ฅผ ํ๋ค๊ณ ํ ๋ Consistency๋ฅผ ์งํค๊ธฐ ์ํ ๋ฐฉ๋ฒ์?
- ๋ค์ ์ฝ๋๋ Thread-Safeํ๊ฐ?
let queue = DispatchQueue(label: "awesome-ios-questions") var _dict: [Int] = [] var dict: [Int] { get { return queue.sync { _dict } } set { queue.sync { _dict = newValue } } }
- Background Notification์ด ๋ฌด์์ธ๊ฐ?
- Background Notification์ ์ด๋ค ์ํฉ์ ์ฌ์ฉํ ์ ์์์ง ๊ตฌ์ฒด์ ์ธ ์์ 2๊ฐ์ง๋ง ๋ ์ฌ๋ ค๋ณด์๋ฉด?
- Background Notification์ ์ ์ฝ์ฌํญ์ด ๋ง๋ค. ์๋ฆผ ์ ๋ฌ์ด ๋ณด์ฅ๋์ง ์๋๋ฐ, ์ด๋ฅผ ๋์ฒดํ ์ ์๋ ๋ฐฉ๋ฒ์ ๋ฌด์์ผ๊น?
- iOS์์ ์ฌ์ฉ๋๋ ๋์์ธ ํจํด์ ์ด๋ค ๊ฒ์ด ์๋?
- Dispatch queue์ ๋ฑ๋กํ ์์ ์ ์ทจ์ํ ์ ์๋?
- UIViewController์ Life cycle ์ค์
viewWillAppear
์viewDidAppear
๊ฐ ์๋๋ฐ, ์ด ๋์ ํญ์ ์ง์ผ๋ก ํธ์ถ๋ ๊น? reuseIdentifier
๋ฅผ ์ฌ์ฉํ๋ ๋ชฉ์ ์ ๋ฌด์์ธ๊ฐ? nil์ด ์๋ ๊ฐ์ผ๋ก ์ค์ ํ์ ๋์ ์ฅ์ ์?
- ์ฌํ๋ฆฌ์์
https://ourdomain.com
๋งํฌ๋ฅผ ํด๋ฆญํ์ ๋ ์ฑ์ผ๋ก ์ฐ๊ฒฐํด๋ฌ๋ผ๋ ์๊ตฌ์ฌํญ์ด ์๊ฒผ๋ค. ํ์ํ ์์ ์ ๋ฌด์์ธ๊ฐ?- Universal Links๊ฐ ์ด๋ค ์๋ฆฌ๋ก ๋์ํ๋์ง ์ฑ์ ์ค์นํ๋ ์์ ๋ถํฐ ์๊ฐ ํ๋ฆ ์์ผ๋ก ์ค๋ช ํ ์ ์๋?
- Universal Links๊ฐ ์๊ฒจ๋ ์ด์ ์ ํ๊ณ๋ ๋ฌด์์ธ๊ฐ?
- Value Type๊ณผ Reference Type์๋ ๋ฌด์์ด ์๋๊ฐ?
- Collection, Closure๋ ๋ฌด์จ ํ์ ์ธ๊ฐ?
nil
๊ณผ.none
์ ์ฐจ์ด์ ์?- Generic์ด ํ์ํ ์ด์ ๋?
- ๋ณ์ ํ์
์ ์ ์ธํ ๋
Any
ํค์๋์ Generics์ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ด ์๋๋ฐ, ์ฐจ์ด์ ์? - Array์ NSArray์ ์ฐจ์ด๋?
- ์๋ ์ฝ๋์
print
๊ฒฐ๊ณผ?var verb = "like" let closure = { [verb] in print("I \(verb) swift") } verb = "hate" closure()
- ํด๋์ค ์์
static
ํจ์์class
ํจ์์ ์ฐจ์ด๋ ๋ฌด์์ธ๊ฐ? - ๋น๋๊ธฐ ์ฝ๋์์ ํ๋กํผํฐ๋ ๋ฉ์๋์ ์ ๊ทผํ๊ธฐ ์ํด
self
๋ฅผ ๋ช ์ํด์ผ ํ๋ ์ด์ ๋?
- ํด๋ก์ ์์
[weak self]
๋ ์ด๋ค ์ํฉ์ ์ฐ์ด๋๊ฐ?guard let self else { return }
๊ฐ ๊ฐ๋ ์๋ฏธ๋ ๋ฌด์์ธ๊ฐ?guard let self else { return }
๋์self?.
๋ฅผ ์ฌ์ฉํ๋ฉด ์ด๋ป๊ฒ ๋๋?
- ํด๋ก์ ๊ฐ ์คํ๋๋ ๋์ self๊ฐ ๋ฉ๋ชจ๋ฆฌ์์ ํด์ ๋์ง ์๋๋ก ๋ณด์ฅํ ์ ์๋ ๋ฐฉ๋ฒ์ด ์๋์ง?
- ๋ฉ๋ชจ๋ฆฌ ๋ฆญ์ ์ฐพ๊ฑฐ๋ ์์ ํ๋ ๋ณธ์ธ๋ง์ ๋ฐฉ๋ฒ์ด ์๋์ง?
struct
์class
์ ์ฑ๋ฅ ์ฐจ์ด๊ฐ ๋ฐ์ํ๋ ์ด์ ๋?- Collection์
map()
,redeuce()
์for loops
์ค์ ์ด๋ค ๊ฒ์ด ๋ ๋น ๋ฅด๊ณ ๋ฌด์์ด ์ฑ๋ฅ์ ์ฐจ์ด๋ฅผ ๊ฐ์ ธ์ค๋๊ฐ? - Array์ Dictionary ์ค ์ด๋ค ๊ฒ์ด ํ์ ์๋๊ฐ ๋ ๋น ๋ฅธ๊ฐ?
- DisposeBag์ด ๋ฌด์์ด๊ณ ์ด๋ป๊ฒ ๋์ํ๋๊ฐ?
dispose()
๋ฅผ ํธ์ถํ๋ฉด ๊ตฌ๋ ์ ์ฆ๊ฐ ์ค๋จ์ด ๋๋๊ฐ?
- Rest์ GraphQL์ ์ฐจ์ด๋ ๋ฌด์์ธ๊ฐ?
Awesome iOS Questions is available under the MIT license. See the LICENSE for details.