ํด๋ก์ ํจ์์ ํํ์ ํจ์์ ํธ์ถ ๊ตฌ์กฐ๋ฅผ ์ ์ดํดํ๋ค๋ฉด ์ฝ๊ฒ ๋ฐ์๋ค์ผ ์ ์์ ๊ฒ ๊ฐ๋ค. // ๋ค์๋ ์ ๊ตฌ๋ถํ ์ ์์ผ๋ฉด ํด๋ก์ ์ ์ดํด๋ฅผ ๋์ธ ์ ์๋ค. func example() {} example // ํจ์ ์์ฒด example() // ํจ์ ํธ์ถ ํด๋ก์ ๊ธฐ๋ณธ ๊ตฌ์กฐ ํด๋ก์ ํค๋์ ํด๋ก์ ๋ฐ๋ ๋ถ๋ถ์ ์ ์ดํดํ์. { (๋งค๊ฐ ๋ณ์) -> ๋ฆฌํด ํ์
in// ํด๋ก์ ํค๋ ์คํ ๊ตฌ๋ฌธ// ํด๋ก์ ๋ฐ๋ } ์ธ๋ผ์ธ ํด๋ก์ (inline closure) // ์ฝ๋๋ฅผ ์๋ตํ์ง ์๊ณ ํด๋ก์ ๊ตฌ๋ฌธ ์, ํจ์์ ๋งค๊ฐ๋ณ์ ๋ด์ ํด๋ก์ ๊ฐ ๊ทธ๋๋ก ๋ค์ด๊ฐ ํํ // => ์ธ๋ผ์ธ ํด๋ก์ getStudyWithMe(study: { () -> () in print("์ฃผ๋ง์๋ ๊ณต๋ถํ๊ธฐ") }) ํธ๋ ์ผ๋ง ํด๋ก์ (trailing clo..
TIL
์๋ฒ ํต์ ์ ์
์ ๋ณด์ฌ์ค UIImage ๋ณํ ์์ urlString โถ๏ธ url โถ๏ธ image url๋ก ๋ฐ๊พธ๊ณ ๋๋ image๋ก ๋ฐ๊พธ๋ ๊ณผ์ ์ ์ด๋์์ ์งํํ๋ ๊ฒ์ด ์ข์๊น? ์๋ฒ ํต์ ์์ ์์ ํ ์ง => ์๊ฐ์ด ์ค๋๊ฑธ๋ฆฌ๊ณ , ์ฌ์ฉ์๊ฐ ๋ณด์ง ์์ ์ ์๋ ์ ๋ณด์ ๋ํด์๋ ์์
์ ์งํํ ์ ์์ด์ ๋นํจ์จ์ ์
์์ ์ฒ๋ฆฌํ ์ง => ์กฐ๊ธ ๋ ์ ์ ํด๋ณด์ธ๋ค. ๋ง์ฐฌ๊ฐ์ง๋ก ์๋ฒ ํต์ ์ ์
์์ ํ ๊ฒฝ์ฐ ์
์ด ๊บผ๋ด์ง ๋๋ง๋ค ์์ฒญ์ด ๋ค์ด๊ฐ call ์๊ฐ ์ฆ๊ฐํ ์ ์๋ค. Alamofire์ ๋ฐ์ดํฐ ๋ฐ์์ค๋ ๋ฉ์๋(Response Handler) // Response Handler - Unserialized Response func response(queue: DispatchQueue = .main, completionHa..
์ธ์ฆํค์ gitignore ํญ์ gitignore๋ ๋จผ์ ์ฒ๋ฆฌํ์. ์ดํ์ ์ธ์ฆํค๋ฅผ ์ฒ๋ฆฌํ๋ ค๊ณ ํ๋ฉด commit์๋ ๋จ์์๊ณ , ์ด์ ๊ธฐ๋ก์ ๋จ์์์ผ๋ฏ๋ก ๋ฒ๊ฑฐ๋กญ๋ค. ํ๋ก์ ํธ ๋ด์์ empty ํ์ผ ์์ฑ ํ ํ๋ก์ ํธ ๋ฐ๋ก ๋ฐ์ .gitignore ์์ฑ ๊ฐ๋ฅ ํ์
์์๋ property list, configuration์ ์ด์ฉํ๋ ์์ผ๋ก๋ ์ธ์ฆํค๋ฅผ ๊ด๋ฆฌํ๋ค. ์จ๊ฒจ์ผ ํ๋ ํ์ผ์ด ๋ง์ผ๋ฉด public repository๊ฐ ์ ํฉํ์ง๋ถํฐ ํ๋จํ์. gitignore.io์ ๊ฐ๋ฉด ์ฝ๊ฒ ํ์ผ์ ๋ค์ด๊ฐ ๋ด์ฉ์ ๋ง๋ค ์ ์๋ค. ์จ๊นํ์ผ๋ก ์ ๋ฑ๋กํ๋ฉด ํ๋ก์ ํธ ๋ด์ ํ์ผ ์์ A(์ถ๊ฐ)/M(์์ ) ๋งํฌ๊ฐ ๋จ์ง ์๋๋ค. Type Inference์ Type Annotation ์๋ ์ฐจ์ด Type Annotation์ ์ด์ฉํ๊ธฐ..
App Transport Security Apple ์ธก์์๋ ์ฑ ์์ฒด์ ๋ณด์์ฑ์ ์ํด์ ATS(App Transport Security)๋ผ๋ ์ ์ฑ
์ ํตํด ๊ธฐ๋ณธ์ ์ผ๋ก https ํต์ ์ ํ๋๋ก ์ ๋ํ๊ณ ์๋ค. ๊ทธ๋์ http ์๋ฒ์ ํต์ ์ ํ๋ ค๊ณ ํ๋ฉด ์๋ฌ๊ฐ ๋ฐ์ํ๋ค. http ์๋ฒ๋ก ํ
์คํธํ๋ ค๋ฉด Info.plist์์ ATS ๊ด๋ จ ์ค์ ์ ํด์ฃผ์ด์ผ ํ๋ค. ATS๋ iOS 9 ๋ฒ์ ์ดํ๋ถํฐ ์ ์ฉ๋ ๊ฐ์ธ์ ๋ณด๋ณดํธ ๊ธฐ๋ฅ์ด๊ณ , Xcode 7 ๋ฒ์ ์ด์์์ ์ฑ ์์ฑ ์ ๊ธฐ๋ณธ๊ฐ์ผ๋ก ๊ฐ์ ธ๊ฐ๊ฒ ๋๋ ๋ณด์ ์ ์ฑ
์ด๋ค. http : Allow Arbitrary Loads๋ฅผ YES๋ก ๋ณ๊ฒฝ https : ๊ตณ์ด ์ค์ ์ ํด์ค ํ์๊ฐ ์์ ๋ฐ์ดํฐ ๋ฆฌ๋ก๋ ์์ ํ
์ด๋ธ ๋ทฐ๋ ์ปฌ๋ ์
๋ทฐ ์ฌ์ฉ ์ viewDidLoad ์์ ์ ๊ฐ์ง๊ณ ์๋ ๋ฐ์ดํฐ..
ํ๋กํ ์ฝ๊ณผ String(describing: _)์ฌ์ฉํด์ ๋ฆฌํฐ๋ดํ ๊ฐ ๋์ด๋ด๊ธฐ ๊ทธ ๋์ identifier ๊ฐ์ ์ฐ๋ ๊ณณ์ด ์ ๋ง ๋ง์๋ค. ViewController์ TableViewCell, CollectionViewCell ๋ฑ์์ ๋ง์ด ์ฌ์ฉํ์๋ค. ๋งค ํด๋์ค์์ ํ๋์ฝ๋ฉ๋ ๋ฌธ์์ด ๊ฐ์ ๋ฃ๋ ๋์ ํ๋กํ ์ฝ์ ์ด์ฉํ๋ฉด ๋ถํธํจ๊ณผ ๋ฐ๋ณต์ ์ค์ผ ์ ์๋ค. protocol Reusable: Anyobject { static var reuseidentifier: String { get } } ๋ค์๊ณผ ๊ฐ์ด extension์์ ํ๋กํ ์ฝ์ ์ฑํํ๊ฒ ๋๋ฉด, ์ด์ reuseidentifier๋ฅผ ํธํ๊ฒ ์ ๊ทผํด์ ์ฌ์ฉํ ์ ์๋ค. extension UIViewController: ReusableViewProtocol { /..
Notifications ๊ธฐ๋ณธ์ ์ผ๋ก ์๋ฆผ์ ๋ํ ํ์ฉ ๊ถํ์ด ํ์ํจ. Local Notifications ๋๋ฐ์ด์ค๋ด์ ์ ์ฅ๋์ด ์๋ ์๋ฆผ์ ๋ฐ๋ ๋ฐฉ์ ๊ฐ์ธ์ด ํผ์ ๊ด๋ฆฌํ๋ ์ฑ Xcode ๋ด์ ๋ฐ์ดํฐ, ์ ๋ณด๋ฅผ ์ ์ฅํด๋๊ณ ์๋ฆผ์ ๋ณด๋ Push Notifications ์๋ฒ์์ ์๋ฆผ์ ๋ฐ์ ์ด๋ค ์๊ฐ์ ์ด๋ค ๋ด์ฉ์ด ์ฌ์ง ๋ชจ๋ฅด๋ ์ํ ๊ถํ ํ์ฉํ ๊ฒฝ์ฐ iOS ์๋ฆผ ์ผํฐ์ ํ์ ์ฑ ์ฌ์ฌ์ฉ๋ฅ (Retention)์ ๊ธฐ์ฌ ์ฑ์ด ์ข
๋ฃ๋ ๊ฒฝ์ฐ์๋ ์ฌ์ฉ์์๊ฒ ์๋ก์ด ์ ๋ณด๋ฅผ ํ์ Local vs Remote Local Xcode ๋ด์ ๋ฌธ๊ตฌ๊ฐ ๋ฏธ๋ฆฌ ์ ์ฅ๋์ด ์๋ ์ํ ์ฑ ๋ด์์ ์ปจํ
์ธ ๋ฅผ ๊ฐ์ง๊ณ ์๊ณ , ์ปจํ
์ธ ๊ฐ ๊ณ ์ ๋์ด ์๋ ์ํ Remote ์๊ฐ๊ณผ ์ปจํ
์ธ ๋ชจ๋ ๋ค์ด๋๋ฏนํ ์ํ ๊ถํ -> ์์ฒญ -> ์๋ฆผ ๊ถํ (Alert, Ba..
์์
๋ฃ๊ณ ์์ดํจ๋์๋ ์๊ฐ์ด๋ ๋ด์ฉ๋ค ๋ค ๊ธฐ๋กํด๋๋๋ฐ, ์ด๊ฑธ ์ปดํจํฐ๋ก ์ฎ๊ธฐ๋ ๊ฒ ์ ์ด๋ฆฌ ํ๋ ๊ฑด์ง.. ๊ทธ๋ ๋ค๊ณ ๋ฐ๋ก ์ปดํจํฐ์ ์ ์๋ ์ด์ํ๊ณ .. ์ข ๋ ๋
ธ๋ ฅํด๋ด์ผ๊ฒ ์ด์.. ๋ฐ๋ฆฐ TIL ์
๋ก๋ ํด๋ณผ๊ฒ์! ใ
ใ
Protocol(ํ๋กํ ์ฝ) ํ๋กํ ์ฝ์ ๊ท์น์ด๋ค. ์ค์ง์ ์ธ ๊ตฌํ์ ๋ด๋นํ์ง๋ ์๋๋ค. ๊ตฌํ์ ํ๋กํ ์ฝ์ ์ฑํํ ์ชฝ์์ ๋ด๋นํ๋ค. ๊ฐ์ฅ ํฐ ์ฅ์ ์ค ํ๋๊ฐ ํํ๋ฅผ ๊ฐ์ ํ ์ ์๋ค๋ ๋ถ๋ถ์ด๋ค. ํ์ผ๋ง๋ค ์์ฑํด์ผ ํ๋ ๋ฉ์๋ ๋ช
์ด๋ ํ๋กํผํฐ ๋ช
๋๋ ๊ตฌํ๋์ด์ผ ํ๋ ๋ถ๋ถ์ ๋ํ ๊ฐ์ ๋ฅผ ํ ์ ์๋ค๋ ๊ฒ์ด๋ค. ์ผ๊ด์ ์ธ ํํ๋ฅผ ์ ์งํ ๋ ์ ์ฉํ๋ค. ํ๋กํ ์ฝ๊ณผ ๋ถ๋ชจ ํด๋์ค์ ๊ฐ์ฅ ํฐ ์ฐจ์ด๋ผ๊ณ ํ๋ค๋ฉด ํด๋์ค๋ ๋จ์ผ ์์๋ง ๊ฐ๋ฅํ ๋ฐ๋ฉด์, ํ๋กํ ์ฝ์ ๋ค์ค ์ฑํ์ด ๊ฐ๋ฅํ๋ค๋ ์ ์ด๋ค. ๋ค์ ๊ธ Taehyeon-Kim..
๋ทฐ์ ๋ฐ์ดํฐ ๊ด๋ จํ ๊ฒ์ ๋ถ๋ฆฌํ๋๋ก ํ์. ์ญํ ์ ๋ถ๋ฆฌํด์ ํจ์๋ฅผ ์์ฑํ์. UIViewController + UITableView UITableViewController๋ง ์ฌ์ฉํ ์ ์์ผ๋ฉด ์ผ๋ง๋ ํธํ ๊น? ๊ทธ๋ฌ๋ UITableViewController๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ์๋ ์ข ๋ ์ ์ฐํ ํ๋ฉด ๊ตฌ์ฑ์ด ์ด๋ ต๋ค. ์ด๋ฏธ ํ๋ฉด ์ ์ฒด๊ฐ ํ
์ด๋ธ๋ทฐ๋ก ๊ฐ๋ ์ฐจ ์์ด ์์ญ์ ํฌ๊ธฐ ์กฐ์ ์ด ์ด๋ ต๊ธฐ ๋๋ฌธ์ด๋ค. (์ด ๋ง์ธ ์ฆ์จ RootView๊ฐ UITableView๋ผ๋ ๊ฒ์ด๋ค.) ๊ทธ๋ ๊ธฐ์ TableView๋ง ๋ฐ๋ก ์ฌ๋ ค์ ํ๋ฉด์ ๊ตฌ์ฑํ๋ ๊ฒฝ์ฐ๊ฐ ๋ ๋ง๋ค. TableView ์์ฑ + ์์๋ ์ฐ๊ฒฐ TableViewCell ์์ฑ (ํ๋กํ ํ์
์
, XIB ์ด์ฉ) + ์
ํด๋์ค ์ฐ๊ฒฐ + ์์๋ ์ฐ๊ฒฐ TableView์ ํ์ํ ํ๋กํ ์ฝ ์ ์ธ..