๐ iOS
[Swift] self
self.ํ๋กํผํฐ๋ช // ํด๋์ค๋ ๊ตฌ์กฐ์ฒด ์์ ์ ์ธ์คํด์ค์ ์ํ ํ๋กํผํฐ self ํค์๋๋ ์๋ต์ด ๊ฐ๋ฅํ์ง๋ง, ๋ง์ฝ ํ๋กํผํฐ์ ์ผ๋ฐ ๋ณ์์ ์ด๋ฆ์ด ๊ฐ์ ๊ฒฝ์ฐ ๊ตฌ๋ถ์ ์ํด์ self๋ฅผ ๊ผญ ์จ์ฃผ์ด์ผํ๋ค. class A { var name: String init(name: String) { self.name = name } } ์ด๋์ ๋ผ์ด์ ๋ด๋ถ์ ์๋ name ์ ์ง์ญ๋ณ์ > ๋งค๊ฐ๋ณ์ > ์ธ์คํด์ค ํ๋กํผํฐ ์์๋ก ๋ฌด์์ ์ง์นญํ๋์ง ์ฐพ์. ๊ทธ๋์ name = name ์ ๊ฒฝ์ฐ ๋๊ฐ ๋ค ๋งค๊ฐ๋ณ์๋ฅผ ์ง์นญํ๊ฒ ๋จ. ์ด๋, ์ธ์คํด์ค ํ๋กํผํฐ๋ก ์ง์นญํ๊ธฐ ์ํด์ self๋ฅผ ์ฌ์ฉํจ.
[Swift] Guard๋ฌธ๊ณผ If๋ฌธ
guard์ if์ ์ฐจ์ด๋ guard๋ ํญ์ else๋ฌธ์ ๊ฐ๋๋ค๋ ๊ฒ์ด๋ค. ⇒ else๋ฌธ์ ๊ฐ์ ํ๊ธฐ ๋๋ฌธ์ ์์ธ์ฒ๋ฆฌ์ ์ฉ์ดํ๋ค! func guardTest(person: [String: String]) { guard let name = person["name"] else { // else ๋ฅผ ์์ฐ๋ฉด compile error print("person is nil") return } print("Name: \\(name)") guard let location = person["location"] else { print("location is nil") return } print("Location: \\(location)") } guardTest(person: ["name": "Jedi"]) print() g..
[Error] Missing Info.plist value. A value for the Info.plist key 'CFBundleIconName' is missing in the bundle '{bundleid}'.
App Store Connect์ ์ฑ ์ฌ์ฌ๋ฅผ ์ฌ๋ฆฌ๊ธฐ ์ํด Xcode Project๋ฅผ Archive ํ๋ ค๊ณ ํ์์ผ๋ Upload ๋์ค ๋ค์๊ณผ ๊ฐ์ ์๋ฌ๊ฐ ๋ํ๋ฌ๋ค. Missing Info.plist value. A value for the Info.plist key 'CFBundleIconName' is missing in the bundle '{bundleid}'. Apps built with iOS 11 or later SDK must supply app icons in an asset catalog and must also provide a value for this Info.plist key. For more information see http://help.apple.com/xcode/mac/cu..
[Swift] reduce ์ฌ์ฉํ๊ธฐ | sum
Programmers ํ์ค๋ ์๋ฅผ ํ๊ณ ๋์, reduce๋ฅผ ์ด์ฉํ ํ์ด๋ฅผ ๋ง์ฃผ์ณ๋ฒ๋ ธ๋ค. // Programmers ํ์ค๋ ์ ํ์ด func solution(_ x:Int) -> Bool { var sum_x = String(x).map{ Int(String($0))! }.reduce(0, +) return x % sum_x == 0 } ใ ใ .. ๋๋ ๊ณต๋ถํด์ค๊ฒ reduce ์ปจํ ์ด๋ ๋ด๋ถ์ ๊ฐ์ ํ๋๋ก ํตํฉ(์ฐ์ฐ)ํ์ฌ return * Swift์์๋ Python๊ณผ๋ ๋ฌ๋ฆฌ ๋ฐฐ์ด์ ์ด ํฉ์ ๊ตฌํ๋ ๋ด์ฅ ํจ์ sum์ด ์๋ค. ๋์ reduce๋ฅผ ์์ฉํด์ฃผ๋ฉด ๋๋ค. (1) reduce(_: _:) public func reduce(_ initialResult: Result, _ nextPartialResult: (..
[Swift] map, flatMap, compactMap ?
Map, flatMap, compactMap map ๋ฐฐ์ด ๋ด๋ถ์ ๊ฐ์ ํ๋์ฉ mapping ๊ฐ ์์์ ๋ํ ๊ฐ์ ๋ณ๊ฒฝํ๊ณ ์ ํ ๋ ์ฌ์ฉํ๊ณ , ๊ทธ ๊ฒฐ๊ณผ๋ค์ ๋ฐฐ์ด์ ์ํ๋ก ๋ฐํ func map(_ transform: (String) throws -> T) rethrows -> [T] import Foundation let cast = ["Vivien", "Marlon", "Kim", "Karl"] let lowercaseNames = cast.map { $0.lowercased() } print(lowercaseNames) // ["vivien", "marlon", "kim", "karl"] let letterCounts = cast.map{ $0.count } print(letterCounts) // [6..
[Swift] inout? | ํจ์ ๋ด๋ถ์์ ํ๋ผ๋ฏธํฐ์ ๊ฐ์ ๋ณ๊ฒฝํ๊ณ ์ง์ํ๊ธฐ
What is inout? Swift์์ ํจ์์ ํ๋ผ๋ฏธํฐ๋ ์์์ด๋ฏ๋ก ํจ์ ๋ด๋ถ์์ ํ๋ผ๋ฏธํฐ์ ๊ฐ์ ๋ณ๊ฒฝ ๋ถ๊ฐ ํจ์์์ ํ๋ผ๋ฏธํฐ์ ๊ฐ์ ๋ณ๊ฒฝํ๊ธธ ์ํ๊ณ + ๋ณ๊ฒฝ๋ ๊ฐ์ด ํจ์ ํธ์ถ์ด ์ข ๋ฃ๋ ํ์๋ ์ง์๋๊ธธ ์ํ ๋ inout ์ฌ์ฉ ํ๋ผ๋ฏธํฐ๋ก ๋ณ์์ ์ฃผ์๊ฐ์ ๋๊ฒจ ์ง์ ์ ๊ทผํ ์ ์๋๋ก ํด์ฃผ๋ ๊ธฐ๋ฅ func increment(_ number: Int){ number += 1 print(number) } increment(3) // Error: 'number' is a 'let' constant var number = 3 func increment(_ number: inout Int){ number += 1 print(number) } increment(&number) // 4 How to use inout?..
[iOS] ์คํ ๋ฆฌ๋ณด๋ ์๋ ํ๊ฒฝ ๊ตฌ์ถํ๊ธฐ | No-storyboard
ํญ์ ์คํ ๋ฆฌ๋ณด๋๋ฅผ ์ฌ์ฉํด์ ํ๋ก์ ํธ๋ฅผ ์งํํด์๋๋ฐ ์ด๋ฒ ํ๋ก์ ํธ์์๋ ์คํ ๋ฆฌ๋ณด๋ ์์ด ์งํํ๊ณ ์ ํ๋ค. ์ด์ฐจํผ UIKit๋ฅผ ์ฌ์ฉํ๊ธฐ๋๋ฌธ์ ๋ค ๋๊ฐ์ง๋ง, ๊ธฐ๋ณธ์ ์ผ๋ก storyboard ์ ํ ์ด ๋์ด์๊ธฐ ๋๋ฌธ์ ์ฐ๊ฒฐ๋ง ๋์ด์ฃผ๋ฉด ๋๋ค. (Step 1) ์คํ ๋ฆฌ๋ณด๋ ํ๋ก์ ํธ์ ๋๊ฐ์ ์ค์ ์ผ๋ก ํ๋ก์ ํธ๋ฅผ ์์ฑํด์ค๋ค. (Step 2) ์ผ์ชฝ์ Navigator์์ Main.storyboard๋ฅผ ์ญ์ ํด์ค๋ค. (Step 3) Project > Targets > General > Deployment Info ์์ Main Interface์ ์ค์ ๋์ด์๋ Main.Storyboard๋ฅผ ์ญ์ ํด์ค๋ค. (Step 4) Project > Targets > Info ์์ Storboard Name์ ์ญ์ ํด์ค๋ค. (Step 5) Scen..
[iOS] App States & View Life Cycle | ์ฑ์ ์ํ์ ๋ทฐ์ ์๋ช ์ฃผ๊ธฐ
์๋ช ์ฃผ๊ธฐ(Lifecycle)์ด๋ ๋ฌด์์ธ๊ฐ? ⇒ ์ธ์ ํน์ ๋ก์ง์ ํ๊ณ ์ถ๋ค๋ฅผ ์ด๋์ ์์ฑํ๋ฉด ๋๋ค๋ผ๋ ๋ฌธ์ ๋ก ๋ณ๊ฒฝํด์ฃผ๋ ๊ฐ๋ App States Not running: ์ฑ์ด ์คํ๋์ง ์๊ฑฐ๋ ์ข ๋ฃ๋ ์ํ Foreground: ํ๋ฉด์ด ๋ํ๋ ์ํ inActive: ์ํธ์์ฉ์ด ๋ถ๊ฐ๋ฅํ ์ํ, ํ๋ฉด์ ๋ณด์ ex) ์ ํ๊ฐ ์์ ๋, ์์คํ ๋ฉ์์ง๊ฐ ๋ด์ ๋ ('๋ฐฐํฐ๋ฆฌ๊ฐ ๋ถ์กฑํฉ๋๋ค') Active: ์ํธ์์ฉ์ด ๊ฐ๋ฅํ ์ํ, ์ฑ์ด ์คํ๋๊ณ ์๋ ์ํ Background: ํ๋ฉด์ด ์ฌ๋ผ์ง ์ํ ๋ฐฑ๊ทธ๋ผ์ด๋ ์ํ์์ ์ค์ง์ ์ธ ๋์์ ํ๊ณ ์๋ ์ํ ex) ํ์ผ ๋ค์ด๋ก๋, ์ ํ๋ธ ์์ ์คํ Suspended: ๋ญ๊ฐ ์ก์๋ ์ํ ๋น ๋ฅธ ์ฌ์คํ์ ์ํด ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ต์ํ์ผ๋ก๋ง ์ก๊ณ (ํ ๋นํ๊ณ ) ์์ ๋ฉ๋ชจ๋ฆฌ๊ฐ ๋ถ์กฑํ๋ฉด ์์คํ ์ด Suspe..