Skip to content

iJoom/MyStudy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

632 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

MyStudy


TIL


var num1:Int? = 30
var num2:Int = 300
//์˜ต์…”๋„ ์ธํŠธํ˜•๊ณผ ๊ทธ๋ƒฅ ์ธํŠธํ˜• ๋ณ€์ˆ˜ ์„ ์–ธ
num1 = nil // OK
num2 = nil // ์ปดํŒŒ์ผ ์—๋Ÿฌ , ์˜ต์…”๋„์ด ์•„๋‹ˆ๋ฏ€๋กœ
//์˜ฌ๋ฐ”๋ฅธ ์˜ต์…”๋„ ๋ฐ”์ธ๋”ฉ? if let or guard let
if let bindingNumber = num1 {
  let sum = bindingNumber + num2
}
  • ๋””์ž์ธ ํŒจํ„ด(http://blog.naver.com/jdub7138/220968244920)
  • singleton ํŒจํ„ด: ๊ฐ์ฒด๋ฅผ ํ•˜๋‚˜๋งŒ ์ƒ์„ฑํ•˜์—ฌ, ์ƒ์„ฑ๋œ ๊ฐ์ฒด๋ฅผ ์–ด๋””์„œ๋“  ์ฐธ์กฐํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ํŒจํ„ด
class RecommendationService {
    static let shared = RecommendationService()
  	private init() {} 

  //ํ†ต์‹  ์ฝ”๋“œ
  //๋กœ๊ทธ์ธ ์ •๋ณด, ํ™˜๊ฒฝ ์„ค์ • ๊ฐ’ ๋“ฑ ์ €์žฅ
}

[1] MVC (Model - View - Controller)

Model( ๋กœ์ง ๋ฐ ๋ฐ์ดํ„ฐ ๋‹ด๋‹น) --(Update ,Notify)--- Controller(Model๊ณผ View๋‹ค๋ฆฌ ์—ญํ• ) ---(Delegate , Update)--- View(ํ™”๋ฉดpresentation ๋‹ด๋‹น)

์• ํ”Œ์˜ MVC ํŒจํ„ด์—์„œ๋Š” View์™€ Controller๊ฐ€ ๋„ˆ๋ฌด ์นœํ•จ , Controller๊ฐ€ View life cycle์— ๊ด€์—ฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์™„์ „ํ•œ View ์™€ Controller์˜ ๋ถ„๋ฆฌ๊ฐ€ ํž˜๋“ฌ

[2] MVVM(Model - View - ViewModel)

ViewModel - Model๊ณผ View ๋‹ค๋ฆฌ ์—ญํ•  (VM์€ Model๊ณผ interact, Binding์œผ๋กœ ์ธํ•ด VM์ด ๋ฐ”๋€Œ๋ฉด View๋„ ๋ฐ”๋€œ ๋ณดํ†ต ViewModel๊ณผView๋ฅผ Bindingํ• ๋•Œ RX์ด์šฉ)

Model - Business Logic , Data

View - ํ™”๋ฉด ๋‹ด๋‹น ์•ˆ์— Controller --(<-Delegate, ->Update) -- View


  • ์• ํ”Œ์˜ ํ”„๋ ˆ์ž„์›Œํฌ์™€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ๊ฐ์ฒด์ง€ํ–ฅ, Swift๋Š” ๊ฐ์ฒด์ง€ํ–ฅ์„ ํฌํ•จํ•œ ํ•จ์ˆ˜ํ˜• ์–ธ์–ด (๋Œ€ํ‘œ์  ์˜ˆ์‹œ: ํด๋กœ์ €)
    • ํ•จ์ˆ˜ํ˜•ํ”„๋กœ๊ทธ๋ž˜๋ฐ? ํ•จ์ˆ˜๋ฅผ ๋ฉ”์„œ๋“œ์˜ ์ „๋‹ฌ์ธ์ž๋กœ ๋ณด๋‚ด๋Š” ์ผ = ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํŒจ๋Ÿฌ๋‹ค์ž„์—์„œ ๋‹น์—ฐํ•œ ์ผ
    • ํด๋กœ์ €์˜ ์‹ค์ œ ํ”„๋กœ์ ํŠธ์—์„œ์˜ ์˜ˆ์‹œ, ์ปดํ”Œ๋ฆฌ์…˜ ํ•ธ๋“ค๋Ÿฌ ๋ฐ ํ†ต์‹ ํ•  ๋•Œ
    • ํด๋กœ์ € ํ‘œํ˜„์˜ ํ†ต์ƒ์  ํ˜•์‹
{ (๋งค๊ฐœ๋ณ€์ˆ˜๋“ค) -> ๋ฐ˜ํ™˜ ํƒ€์ž… in
    Code
}
  • ๊ฐ€๋…์ด ๋” ์ข‹์€ ํ›„ํ–‰ ํด๋กœ์ €
let reversed: [String] = names.sorted {
  return $0 > $1
}
  • ์•”์‹œ์  ๋ฐ˜ํ™˜ ํ‘œํ˜„ ( return ๋งˆ์ € ์ƒ๋žต !!)
let reversed: [String] = names.sorted { $0 > $1 }

  • intrinsic contents size๋Š”?

  • auto closure๋Š”?

  • Swift iOS APP Store Animation

    • ๊ตฌ์„ฑ CollectionView - CollectionViewCell ( ShadowView ์•ˆ์— CommonView)

    • CommomView๋Š” ํ›„์— DetailView์™€ ๊ณตํ†ต์ ์œผ๋ฃŒ ์‚ฌ์šฉ๋˜์–ด์ง

    • ShadowView๋Š” ์…€์˜ ๊ฒ‰๋ถ€๋ถ„์— ๊ทธ๋ฆผ์ž๋ฅผ ์ฃผ๊ธฐ ์œ„ํ•จ, ๊ทธ๋ƒฅ Cell์„ ์ปค์Šคํ…€ํ•œ XIB๋ฅผ ์ด์šฉํ• ์‹œ Shadow๊ฐ€ ์ ์šฉ๋˜์–ด์ง€์ง€ ์•Š์Œ์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•จ

    • ๋คํ•‘์• ๋‹ˆ๋ฉ”์ด์…˜์„ ์ด์šฉํ•ด DetailView๋กœ ์ „ํ™˜, ์ด๋•Œ NavigationController๋ฅผ Customํ•ด์„œ Animation์„ ๋งŒ๋“ค์–ด์คŒ, NavigationController์˜ UIPresentationController๊ฐ€ ์—†์œผ๋ฉด ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ „ํ™˜์ด ๋ถˆ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉ์ž ์ •์˜ ์ „ํ™˜ ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ์–ป๊ธฐ ์œ„ํ•จ

    • Animatable์ด๋ผ๋Š” ํ”„๋กœํ† ์ฝœ์„ ๋งŒ๋“ค์–ด, sizeAnimator , positionAnimator๋ฅผ ๊ตฌํ˜„ํ•˜๊ณ  ์ด๋ฅผ ์ด์šฉํ•ด ์ปค์Šคํ…€ ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ๋งŒ๋“ค์–ด๋ƒ…๋‹ˆ๋‹ค.

       // Put the completion handler on the longest lasting animator
              if (self.positioningDuration > self.resizingDuration) {
                  positionAnimator.addCompletion(completionHandler)
              } else {
                  sizeAnimator.addCompletion(completionHandler)
              }
      • ๊ฐ€์žฅ ๋Šฆ๊ฒŒ ๋๋‚˜๋Š” ๊ณณ์— ํ•ธ๋“ค๋Ÿฌ๋ฅผ ๋Œ€์ž…ํ•ฉ๋‹ˆ๋‹ค.
      • ์ปฌ๋ ‰์…˜๋ทฐ์˜ ์นด๋“œ์…€์„ ํ„ฐ์น˜์‹œ, ๋””ํ…Œ์ผ๋ทฐ๊ฐ€ ์…€์ฒ˜๋Ÿผ ๋ณด์—ฌ์ง€๋ฉด์„œ ํ™”๋ฉด์˜ ์ „์ฒดํฌ๊ธฐ๋กœ ๋ฆฌ์‚ฌ์ด์ง• ๋˜๋ฉด์„œ ์• ๋‹ˆ๋ฉ”์ด์…˜์ด ์ ์šฉ๋˜์–ด์ง‘๋‹ˆ๋‹ค.

์‹ค์ œ ๋ฉด์ ‘

  • static๊ณผ ์‹ฑ๊ธ€ํ„ด ํŒจํ„ด์˜ ์ฐจ์ด?
    • ๋‘˜๋‹ค ์˜ค๋ฒ„๋ผ์ด๋”ฉ์ด ๊ฐ€๋Šฅํ•œ๊ฐ€? (static์€ ๋˜์ง€ ์•Š๋Š”๋‹ค, ์‹ฑ๊ธ€ํ„ด ํŒจํ„ด์€ ์˜ค๋ฒ„๋ผ์ด๋”ฉ ๋˜์ง€ ์•Š๊ฒŒ ํ•˜๋Š”๊ฒƒ)
  • 100๊ฐœ์˜ ๊ฐ๊ธฐ ๋‹ค๋ฅธ ์ด๋ฏธ์ง€๋ทฐ(์Šคํฌ๋กค๋˜๋Š”)๋ฅผ ํ†ต์‹ ํ•ด์„œ ๋ฐ›์•„์˜ฌ๋•Œ, ๋‹ค ์—…๋ฐ์ดํŠธ ๋˜์ง€ ์•Š๊ฒŒ ๊ณผ์ •์„ ์ค„์—ฌ๋ณด์•„๋ผ
    • NSCache key๊ฐ’์„ ์ด์šฉํ•ด key๊ฐ’์ด ๋‹ค๋ฅธ ์ด๋ฏธ์ง€๋ทฐ๋งŒ ์—…๋ฐ์ดํŠธ
  • What's git - Cherry-pick and rebase,revert


About

๐Ÿ›  iOS๋ฅผ ๊ณต๋ถ€ํ•˜๋ฉฐ ์—ฌ๋Ÿฌ ๊ธฐ์ˆ ์„ ํ…Œ์ŠคํŠธ ํ•ด๋ณด๋Š” ๊ณต๊ฐ„ ๐Ÿ› 

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages