๋ชจ๋์ ๋ง๋ค์ด์ ์ฌ์ฉํ๋ค๊ฐ ๋ค์๊ณผ ๊ฐ์ ์๋ฌ ๋ฉ์์ง๋ฅผ ๋ง๋ฌ๋ค. overriding non-open instance method outside of its defining module import UIKit open class BaseView: UIView { public override init(frame: CGRect) { super.init(frame: frame) configureAttributes() configureLayout() } @available(*, unavailable) public required init?(coder: NSCoder) { super.init(coder: coder) } public func configureAttributes() {} public func confi..
access control
๊ธฐ์ ์ปจํผ๋ฐ์ค ๊ธฐ์ ์ปจํผ๋ฐ์ค, ๋ธ๋ก๊ทธ ์์ฃผ ๋ณด๊ธฐ! wwdc if kakao slash tech blog ๋ชจ๋ํ์ ์ ๊ทผ ์ ์ด ๋ชจ๋ํ ์์
์ ํ๋ค๋ณด๋ฉด ์ฌ๋ฌ ํ๋ก์ ํธ์์ ๊ณตํต์ ์ผ๋ก ์ฌ์ฉํ๋ ์ฝ๋๊ฐ ์์ ์ ์๋ค. UI ์ปดํฌ๋ํธ, ๊ณตํต์ ์ผ๋ก ์ฌ์ฉ๋๋ ํด๋์ค ๋ฑ๋ฑ์ด ์์ํ
๋ฐ ์ด๋ฅผ ๋งค ํ๋ก์ ํธ ๋ด์์ ์ง์ ์์ฑํด์ฃผ๋ ๊ฒ๋ณด๋ค ๋น์ทํ ์ฑ๊ฒฉ์ ์ฝ๋๋ผ๋ฆฌ ๋ชจ์์ ์ข ๋ ํจ์จ์ ์ผ๋ก ์ฌ์ฉํ ์ ์์ ๊ฒ์ด๋ค. ํ๋ ์์ํฌ๋ฅผ ๋ง๋ ๋ค๊ณ ๋ ์ดํดํด๋ณผ ์ ์์ ๋ชจ๋ํ๋ฅผ ํด๋ณด๋ฉด ์ ๊ทผ ์ ์ด์ ๋ํ ๊ฐ๋
์ด ์กฐ๊ธ ๋ช
ํํด์ง (- ์ค์ ๋ก ๋ด๊ฐ EasyKit์ด๋ผ๋ ํ๋ ์์ํฌ๋ฅผ ๋ง๋ค์ด๋ณด๋ฉด์ ๋๊ผ๋ ๋ถ๋ถ์ด๋ค.) ์ค์ ํ๋ก์ ํธ๋ ์กฐ๊ธ ๊ฐ๋ฒผ์์ง ๊ฐ๊ฐ ์ญํ ์ ๋ํ ๋ถ๋ฆฌ๊ฐ ๋ช
ํํด์ง ์์ฃผ ์ฌ์ฉํ๋ ์ฝ๋, UI ๋ชจ์๋๊ธฐ ์ ๊ทผ ์ ์ด ์ด๋ก ์ ์ผ๋ก ์ ๋ฆฌํ๋ ๊ฒ๋ ์ค์ํ์ง๋ง..