36
PROTOCOL 잘 쓰기 최준수

Protocol 잘 쓰기 (let us: Go! Summer 2017)

Embed Size (px)

Citation preview

Page 1: Protocol 잘 쓰기 (let us: Go! Summer 2017)

P R O T O C O L

잘쓰기

최준수

Page 2: Protocol 잘 쓰기 (let us: Go! Summer 2017)

@bananamlkshake2

deadbeef.me

Page 3: Protocol 잘 쓰기 (let us: Go! Summer 2017)

“Swift is the first Protocol Oriented Language”

- Swift STL Technical Lead

Page 4: Protocol 잘 쓰기 (let us: Go! Summer 2017)

X 가어디서뭐를상속하는지대신 X 가뭐를할수있는가에집중

Page 5: Protocol 잘 쓰기 (let us: Go! Summer 2017)

프로토콜은함수/정수를제공한다는약속

Page 6: Protocol 잘 쓰기 (let us: Go! Summer 2017)
Page 7: Protocol 잘 쓰기 (let us: Go! Summer 2017)
Page 8: Protocol 잘 쓰기 (let us: Go! Summer 2017)
Page 9: Protocol 잘 쓰기 (let us: Go! Summer 2017)
Page 10: Protocol 잘 쓰기 (let us: Go! Summer 2017)
Page 11: Protocol 잘 쓰기 (let us: Go! Summer 2017)
Page 12: Protocol 잘 쓰기 (let us: Go! Summer 2017)
Page 13: Protocol 잘 쓰기 (let us: Go! Summer 2017)
Page 14: Protocol 잘 쓰기 (let us: Go! Summer 2017)
Page 15: Protocol 잘 쓰기 (let us: Go! Summer 2017)

“Swift 이니까일단 Protocol 부터만들어보겠습니다…”

Page 16: Protocol 잘 쓰기 (let us: Go! Summer 2017)
Page 17: Protocol 잘 쓰기 (let us: Go! Summer 2017)
Page 18: Protocol 잘 쓰기 (let us: Go! Summer 2017)
Page 19: Protocol 잘 쓰기 (let us: Go! Summer 2017)

error: Protocol ‘HeaderViewProtocol’ can only be used as a generic constraint because it has

Self or associated type requirements

Page 20: Protocol 잘 쓰기 (let us: Go! Summer 2017)

AnyHeaderView: HVProtocol

setHeader()

Type Eraser MyLabel: HVProtocol

setHeader()

Page 21: Protocol 잘 쓰기 (let us: Go! Summer 2017)
Page 22: Protocol 잘 쓰기 (let us: Go! Summer 2017)
Page 23: Protocol 잘 쓰기 (let us: Go! Summer 2017)
Page 24: Protocol 잘 쓰기 (let us: Go! Summer 2017)
Page 25: Protocol 잘 쓰기 (let us: Go! Summer 2017)
Page 26: Protocol 잘 쓰기 (let us: Go! Summer 2017)

프로토콜대신함수를사용하는경우

- 프로토콜에함수가 1개? -> 함수

- 1개이상? -> 프로토콜

- 많이안쓰는거? -> 함수

- 많이쓰는거? -> 프로토콜

Page 27: Protocol 잘 쓰기 (let us: Go! Summer 2017)

http GET

Page 28: Protocol 잘 쓰기 (let us: Go! Summer 2017)
Page 29: Protocol 잘 쓰기 (let us: Go! Summer 2017)

DEMO

Page 30: Protocol 잘 쓰기 (let us: Go! Summer 2017)

결론

Page 31: Protocol 잘 쓰기 (let us: Go! Summer 2017)

프로토콜은쓰면안된다

Page 32: Protocol 잘 쓰기 (let us: Go! Summer 2017)

프로토콜은막쓰면안된다

Page 33: Protocol 잘 쓰기 (let us: Go! Summer 2017)

Generics

Closures

Enums

Functional Programming

OOP

Dependency Injection

Delegates

Page 34: Protocol 잘 쓰기 (let us: Go! Summer 2017)

ProtocolFunction Struct

Page 35: Protocol 잘 쓰기 (let us: Go! Summer 2017)

문제에대한최적의해결책을선택하라

Page 36: Protocol 잘 쓰기 (let us: Go! Summer 2017)

Q & A