일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 패스트캠퍼스후기
- HTML
- ios
- 환급챌린지
- 수강료0원챌린지
- 사이드프로젝트10개기술스택으로구현하는풀스택서버리스프로젝트withReact
- stopPropagation
- 스위프트
- 코딩테스트
- 이벤트캡처링
- 직장인자기계발
- 패스트캠퍼스
- 패캠챌린지
- eventcapturing
- swift
- 직장인인강
- 연결리스트삽입
- 패캠인강후기
- hig
- Components
- 연결리스트생성
- 오공완
- 자료구조
- 실패율
- eventbubbling
- 연결리스트삭제
- 이벤트버블링
- JavaScript
- MVMM
- 프로그래머스
- Today
- Total
날쌘 개발자
#2 본문
MVC - 모델 뷰 컨트롤러
Model - 앱에서 '무엇'에 해당하는 UI와 독립적인 객체들
Controller - 그게 '어떻게' 화면에 나타나는지
View - 아주 일반적인 UI요소들(UIButton, UILabel ...). 컨트롤러가 모델과 통신해 앱에서 어떤것을 UI에 가져오도록 할 때 필요. 컨트롤러의 하인
MVC는 세 캠프 사이의 커뮤니케이션을 관리
컨트롤러는 모델과 뷰에 직접 접근 가능
뷰가 컨트롤러접근할때는 delegate, data source
모델이 컨트롤러 : Notification & KVO
뷰-스토리보드, 컨트롤러-뷰컨트롤러
모델 - 파일..
새로운 클래스만든후에는 항상 이것의 공개 API가 무엇인지 생각해야함.
API - Application Programming Interface
-> 단지 클래스 안의 모든 메소드와 인스턴스 변수의 리스트
공개API - 다른 클래스들의 사용을 허락한 메소드와 인스턴스 변수들
스위프트에서 구조체와 클래스는 거의 유사.
다른점 큰 두가지
- 구조체는 상속성이 없음 -> 구조체가 좀 더 간단함
- 구조체는 값 타입, 클래스는 참조 타입
값 타입 - 인자로 보내거나 배열에 넣거나 심지어 다른 변수에 할당해도 복사됨. (배열, 정수형, 문자열, 딕셔너리 등등 다 구조체임.) 스위프트에서는 누군가 내용을 변경했을 때만 실제로 복사하도록 하는 전달 방식을 가짐
참조타입 - 힙에 자료형이 담겨 있고, 그 자료형에 포인터를 쓸 수 있음
Init - 인스턴스를 만들 때 자동으로 호출되는 초기화 처리 전용의 메서드 ?
for문
for identifier in 시퀀스
for identifier in 0.. <numberOfPairsOfCards
시퀀스 - 어딘가에서 시작해서 다음으로 갈 수 있고 또 다음, 다음, 다음으로 넘어가며 도는 것(배열, 문자열 등)
Index.- array.index(of: 12) --> 12의 인덱스를 알 수있음.
정적 함수 (static method) 클래스 안에 있지만, 그 클래스에게 보낼 수 없음 클래스 안의 타입 만 메시지를 받을 수 있음. (타입에 붙어있는 함수느낌)
lazy변수
3Indices - for index in 0..<cardButtons.count --> for index in cardButtons.indices 모든 인덱스의 계수 가능 범위를 배열로 리턴해줌.
딕셔너리 - 해시 테이블처럼 데이터 구조. 무언가를 찾아보고 어떤 것에 해당하는 값을 받는 것. 한 후 키의 타입을 넣고 : 한 후 값의 타입을 넣음 Dictionary<Int,String>() = [Int:String ()(배열과 유사)
스위프트에서 중첩된 if문은 같은 줄에 쉼표로 구분한 뒤 적을 수 있음
TODO주석 - 특별한 주석. 할일로 볼수있음