본문 바로가기

Swift공부3

[31일차] @IBAction과 @IBOutlet은 무엇인가? iOS 개발을 진행하다 보면, @IBAction, @IBOutlet 용어를 자주 접하게 된다. 처음에는 앱 개발과정에서 특정한 버튼을 추가 및 기능을 연결할 때 추가해야 되는 순서처럼 느꼈다. 이번 기회에 IBAction과 IBOutlet의 역할과 정의가 무엇인지 정리해보고자 한다. 참고로 etist블로그님의 글을 참고하였다. * IBAction, IBOutlet의 역할 @IBAction, @IBOutlet은 StoryBoard과 연결고리 역할을 수행한다. 즉, 사용자가 추가한 컴포넌트(버튼, 레이블)와 연결이 가능하다. - IBAction : 이벤트가 일어난 경우, 호출되는 Action을 정의한 것 - IBOutlet : 컴포넌트에 접근하기 위한 변수 * IBAction, IBOutlet의 정의 IB .. 2020. 9. 4.
[18일차] Class 생성자 이해하기 (2-phase Initialization) * 상속은 언제 사용하면 좋은가? (1) Single Responsibility (단일 책임) : 하나의 클래스는 한 가지의 역할만 해야 한다. (2) Type Safety (타입이 분명해야 할 때) : 특정 조건의 타입 객체를 사용하고자 할 때 (3) Shared Base Classes (다자녀가 있다) : 동일한 행위를 다중 객체에서 사용 (4) Extensibilty (확장성이 필요한 경우) (5) Identity (정체를 파악하기 위해) * 상속된 자식 클래스는 부모 클래스의 형태와 다르게 생성할 수 있다. ex) let student1 = Student(firstName: "Mike", lastName: "Kim") let student2 = StudentAthlete(sports: ["Base.. 2020. 8. 7.
[15일차] Property vs Method * Property vs Method 을 선택 기준 : 동일한 결과값을 전달할 때 무엇을 사용하는 것이 효율적인가? Q) Setter가 필요한가? A) Yes - "Computed Property" Q) 계산이 많이 필요한가? 혹은 DB Access나 File IO가 필요한가? A) Yes - "Method" No - '"Computed Property" * Method : 인스턴스에 귀속되어서 사용되는 것 - mutating : struct 인스턴스 변수가 함수내에서 변형될 때 '함수 선언부'에 적어줘야 한다. * extension : 기존에 만들어진 struct에서 기능을 확장하고자 할 때 사용 Tip) 확장 시 필요한 함수명을 미리 적어놓고, 함수 선언문을 만들기 2020. 8. 4.