๋ถ€์‚ฐ ์‚ฌํšŒ๋ณต์ง€ ํ”„๋กœ๊ทธ๋žจ ์ •๋ณด ์ œ๊ณต ์–ดํ”Œ (iOS)

๋ถ€์‚ฐ์˜ ์‚ฌํšŒ๋ณต์ง€ ํ”„๋กœ๊ทธ๋žจ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•˜๋Š” ์–ดํ”Œ์ž…๋‹ˆ๋‹ค.์ง€์—ญ์„ ์„ ํƒํ•˜์—ฌ ํ•ด๋‹น ๊ตฌ์—์„œ ์ง€์›ํ•˜๋Š” ์‚ฌํšŒ๋ณต์ง€ ํ”„๋กœ๊ทธ๋žจ๋“ค์„ ํ™•์ธํ•˜์„ธ์š”. ๊ฐ„ํŽธํ•œ UI/UX ์–ดํ”Œ๋กœ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•˜๋ฉด ์‚ฌํšŒ๋ณต์ง€๊ฐ€ ํ•„์š”ํ•œ ์‚ฌ๋žŒ๋“ค์ด์ข€ ๋” ์‰ฝ๊ฒŒ ์ด์šฉํ•  ์ˆ˜ ์žˆ์„๊ฑฐ๋ผ ์ƒ๊ฐํ•˜์—ฌ ์ œ์ž‘ํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ถ€์‚ฐ ์‚ฌํšŒ๋ณต์ง€ ๊ณต๊ณต API๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์ œ์ž‘ํ•˜์˜€์Šต๋‹ˆ๋‹ค. (https://www.data.go.kr/data/15067334/openapi.do) MVC ๋””์ž์ธ ํŒจํ„ด์„ ์ฑ„ํƒํ•˜๊ณ  ์žˆ๊ณ , request API๋กœ Alamofire ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์˜€์Šต๋‹ˆ๋‹ค.UserDefault์— ์„ ํƒํ•œ ์ง€์—ญ๊ตฌ์˜ ์ •๋ณด๋ฅผ ์ €์žฅํ•˜์—ฌ ์ƒˆ๋กœ ์ผฐ์„๋•Œ ์„ ํƒVC๋ฅผ ์Šคํ‚ตํ•ฉ๋‹ˆ๋‹ค. ๋ณต์ง€ ์„ผํ„ฐ์˜ ์ „ํ™” ๊ธฐ๋Šฅ๊ณผ ์œ„์น˜ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์•ฑ์Šคํ† ์–ด ๋งํฌ : https://apps.apple.com/kr..

iOS & swift 2021. 10. 5. 00:59
์Šคํฌ๋กค ๋งจ ์œ„๋กœ ํ•˜๊ณ , Navi Bar Title์„ Large๋กœ ๋ณด์—ฌ์ฃผ๊ธฐ

ํ…Œ์ด๋ธ”๋ทฐ์˜ ์Šคํฌ๋กค์„ ๋งจ์œ„๋กœ ์˜ฌ๋ ธ์„ ๋•Œ, navigationbar์˜ title์„ large๋กœ ์„ค์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.(์ž๊พธ small๋กœ ๋‚˜์™€์„œ) ์šฐ์„  Large Title ์„ค์ •๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ์„ค์ •ํ•ด์ฃผ๋ฉด Large ํƒ€์ดํ‹€๋กœ ์ž˜ ๋‚˜์˜ค๋Š” ๋ชจ์Šต์ž…๋‹ˆ๋‹ค.. largeTitleDisplayMode์˜ ๊ฐ’์œผ๋กœ .automatic ์„ ์ค˜์„œ, ์Šคํฌ๋กค ํ•˜๋ฉด small ๋กœ ๋ฐ”๋€๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ๋ง์ด์ฃ . ์ด์ œ scroll to top ํ•˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. tableView.scrollToRow(at: IndexPath(row: NSNotFound, section: 0), at: .top, animated: false) ๋™์ž‘์ด ์ด๋ฃจ์–ด์ง€๋Š” ๊ณณ์— ๋„ฃ์–ด์ฃผ๋ฉด ๋˜๊ฒ ์ฃ ? row์— 0 ์„ ํ•ด๋„ ๋˜์ง€๋งŒ ๊ทธ๋Ÿฌ๋ฉด ์…€์ด ์กด์žฌํ•˜์ง€ ์•Š์„ ๋• ์—๋Ÿฌ๊ฐ€ ๋– ์š”. ๊ทธ๋ž˜์„œ..

iOS & swift 2021. 9. 30. 00:58
[swift] ์‹ฑ๊ธ€ํ†ค ํŒจํ„ด (Singleton Pattern)

์‹ฑ๊ธ€ํ†คํŒจํ„ด์ด๋ž€. ํด๋ž˜์Šค์˜ ์ธ์Šคํ„ด์Šค(๊ฐ์ฒด)๋ฅผ ํ•˜๋‚˜๋งŒ ๋งŒ๋“ค์–ด์„œ ์“ฐ๋Š” ํŒจํ„ด Singleton pattern์— ๋Œ€ํ•ด ์ƒ์„ฑ๋ฐฉ๋ฒ•, ์ •์˜, ์“ฐ์ž„ ์ˆœ์œผ๋กœ ์ •๋ฆฌํ•ด๋‚˜๊ฐ€๊ฒ ์Šต๋‹ˆ๋‹ค. 1. ์‹ฑ๊ธ€ํ†ค ํŒจํ„ด ์ƒ์„ฑ ๋ฐฉ๋ฒ•. ์šฐ์„  class๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ๋‚ด๋ถ€์—๋Š”, class์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” class ์ž์ฒด ์ƒ์ˆ˜๋ฅผ static ์œผ๋กœ ์„ ์–ธ ํ•ด์ค๋‹ˆ๋‹ค. static์„ ๋ถ™์ด๋ฉด 'shared' ๋Š” ์ƒ์†์ด ์•ˆ๋˜๋ฉฐ ์ธ์Šคํ„ด์Šคํ™” ํ•˜์—ฌ ์—ฌ๋Ÿฌ๊ฐœ ์ƒ์„ฑ ๋˜์ง€ ์•Š๋„๋ก ํ•ด์ค๋‹ˆ๋‹ค. ( static ์„ ์ž˜ ๋ชจ๋ฅด์‹ ๋‹ค๋ฉด https://ggasoon2.tistory.com/2#typeProperty ์ด ๊ธ€์˜ 'ํƒ€์ž… ํ”„๋กœํผํ‹ฐ'๋ฅผ ์ฐธ๊ณ  ํ•ด์ฃผ์„ธ์š”.^^ ) ๊ทธ๋ฆฌ๊ณ  private init() ์ƒ์„ฑ์ž๋ฅผ private์œผ๋กœ ์ œํ•œํ•˜์—ฌ ์™ธ๋ถ€์—์„œ ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•˜์ง€ ๋ชปํ•˜๋„๋ก ํ•˜์—ฌ, 'Si..

iOS & swift 2021. 7. 20. 02:15
[iOS] // MARK: - ๋ฅผ ๋‹จ์ถ•ํ‚ค๋กœ ๋งŒ๋“ค๊ธฐ

๋‹จ๋ฝ์„ ํ‘œ์‹œํ•ด์ฃผ๊ธฐ ์œ„ํ•ด // MARK: - ๋ฅผ ๋งŽ์ด ์“ฐ๋Š”๋ฐ ์ด๋ ‡๊ฒŒ ํ‘œ์‹œํ•ด๋‘๋ฉด.์›ํ•˜๋Š” ํ•จ์ˆ˜๋ฅผ ์ฐพ๊ธฐ๊ฐ€ ํŽธํ•ด์š” ๋ถ๋งˆํฌ ๊ธฐ๋Šฅ์ด ์žˆ์Šต๋‹ˆ๋‹ค.  ์ด๊ฑธ ๋‹จ์ถ•์–ด๋กœ ์„ค์ •ํ•˜๋ ค๊ณ ํ•ฉ๋‹ˆ๋‹ค  ์šฐ์„  // MARK: - ์ž‘์„ฑ ํ›„  ๋“œ๋ž˜๊ทธ ํ•˜์—ฌ  Create Code Snippet ๋“ค์–ด๊ฐ€์ค๋‹ˆ๋‹ค.   ๊ทธ ๋‹ค์Œ์—”   // MARK: - ์ ์–ด ์ฃผ์‹œ๊ณ  Completion ์—๋Š” ์„ค์ • ํ•˜๊ณ ์‹ถ์€ ๋‹จ์ถ•์–ด๋ฅผ ์ ์–ด์ฃผ์„ธ์š”.์ €๋Š” ๋‹จ์ถ•์–ด๋กœ mark๋ผ ์ ์–ด์คฌ์–ด์š”. bookmark๋ผ๋Š” ๋Œ€์ฒด ๋˜๋Š” ํŒŒ๋ผ๋ฏธํ„ฐ๋Š” ๋กœ ์ž‘์„ฑ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.  ๊ทธ๋Ÿฌ๋ฉด ์ด์ œ mark ๋ผ๊ณ  ํƒ€์ดํ•‘ ํ•˜๊ธฐ๋„์ „์— m๋งŒ ์ณ๋„ ๋œจ๋Š” ๋ชจ์Šต  ์—”ํ„ฐ๋ฅผ ๋ˆŒ๋Ÿฌ์ค๋‹ˆ๋‹ค.   + ์ถ”๊ฐ€๋กœ @IBOutlet ๊ฐ™์€ ๊ฒƒ๋„ ๋‹จ์ถ•ํ‚ค๋กœ ๋“ฑ๋กํ•ด๋‘๋ฉด ์œ ์šฉํ•œ ๊ฒƒ ๊ฐ™์•„์š”. (ibo ๋งŒ ์ณ๋„ ๋‚˜์˜ค๋„๋ก..)  ๋ด์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.     ..

iOS & swift 2021. 7. 15. 22:06
[swift] public vs private (์ ‘๊ทผ์ œ์–ด, ์ ‘๊ทผ์ง€์ •์ž)

public๊ณผ private ํ•จ์ˆ˜, ํด๋ž˜์Šค, ํ”„๋กœํผํ‹ฐ ๋“ฑ ์„ ์–ธํ•  ๋•Œ ํ•ญ์ƒ ์จ์™”์—ˆ์ฃ .. public์€ ๋Œ€์ถฉ ์ „์—ญ ๋ณ€์ˆ˜ ๋А๋‚Œ, private์€ ์ง€์—ญ๋ณ€์ˆ˜ ๋А๋‚Œ์ฒ˜๋Ÿผ ์ƒ๊ฐํ•˜๊ณ  ๋„˜์–ด๊ฐ”์Šต๋‹ˆ๋‹ค. ๊ฐœ๋…์„ ๋ช…ํ™•ํžˆ ์ดํ•ดํ•˜์ง€ ๋ชปํ–ˆ์—ˆ์–ด์š”. ์ด๋ฒˆ์— ํ•œ๋ฒˆ ์™„๋ฒฝํ•œ ์ดํ•ด๋ฅผ ํ•ด๋ณด๊ณ ์ž ๊ธ€์„ ์ •๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ์šฐ์„  ์ด๋Ÿฐ ๊ฒƒ๋“ค์„ Swift ์—์„œ๋Š” Access Control (์ ‘๊ทผ ์ œ์–ด)๋ผ๊ณ  ๋ช…ํ•ด ๋’€์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉํ•˜๋Š” ๋ชฉ์ ์€ ์„ธ๋ถ€์ ์ธ ๊ตฌํ˜„์€ ๊ฐ์ถ”๊ณ , ํ•„์š”ํ•œ๋งŒํผ๋งŒ ๊ณต๊ฐœํ•ด ๋‹ค๋ฅธ ๊ณณ์—์„œ ์‚ฌ์šฉํ•˜๋„๋ก ํ•˜๊ธฐ ์œ„ํ•จ์ž…๋‹ˆ๋‹ค. ๊ณต๊ฐœ ์ •๋„์— ๋”ฐ๋ผ 5๊ฐ€์ง€ ๋ ˆ๋ฒจ๋กœ ๋ถ„๋ฅ˜ํ•ด๋’€๋Š”๋ฐ์š”. ๊ณต๊ฐœ์ •๋„๊ฐ€ ๋†’์€ ์ˆœ์— ๋”ฐ๋ผ์„œ ์ •๋ฆฌํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. 1. Open : ์„ ์–ธํ•œ ๋ชจ๋“ˆ ์™ธ์— ๋‹ค๋ฅธ ๋ชจ๋“ˆ์—์„œ๋„ ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ๋ชจ๋“ˆ์—์„œ๋„ ์˜ค๋ฒ„๋ผ์ด๋“œ์™€ ์„œ๋ธŒํด๋ž˜์‹ฑ์ด ๊ฐ€๋Šฅํ•ด์š”. ์˜ค๋ฒ„๋ผ์ด๋”ฉ์€ ์ด์ „ ..

iOS & swift 2021. 4. 30. 18:09