날쌘 개발자

#2 본문

ios/스탠포드

#2

훈식이 2021. 10. 9. 00:26
728x90

MVC - 모델 뷰 컨트롤러

Model - 앱에서 '무엇'에 해당하는 UI와 독립적인 객체들

Controller - 그게 '어떻게' 화면에 나타나는지

View - 아주 일반적인 UI요소들(UIButton, UILabel ...). 컨트롤러가 모델과 통신해 앱에서 어떤것을 UI에 가져오도록 할 때 필요. 컨트롤러의 하인

MVC는 세 캠프 사이의 커뮤니케이션을 관리

컨트롤러는 모델과 뷰에 직접 접근 가능

뷰가 컨트롤러접근할때는 delegate, data source

모델이 컨트롤러 : Notification & KVO

뷰-스토리보드, 컨트롤러-뷰컨트롤러

모델 - 파일..


새로운 클래스만든후에는 항상 이것의 공개 API가 무엇인지 생각해야함.

API - Application Programming Interface

-> 단지 클래스 안의 모든 메소드와 인스턴스 변수의 리스트

공개API - 다른 클래스들의 사용을 허락한 메소드와 인스턴스 변수들

스위프트에서 구조체와 클래스는 거의 유사.

다른점 큰 두가지

  1. 구조체는 상속성이 없음 -> 구조체가 좀 더 간단함
  2. 구조체는 값 타입, 클래스는 참조 타입

값 타입 - 인자로 보내거나 배열에 넣거나 심지어 다른 변수에 할당해도 복사됨. (배열, 정수형, 문자열, 딕셔너리 등등 다 구조체임.) 스위프트에서는 누군가 내용을 변경했을 때만 실제로 복사하도록 하는 전달 방식을 가짐

참조타입 - 힙에 자료형이 담겨 있고, 그 자료형에 포인터를 쓸 수 있음

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주석 - 특별한 주석. 할일로 볼수있음

728x90

'ios > 스탠포드' 카테고리의 다른 글

스탠포드 카드게임  (0) 2021.10.09
#3  (0) 2021.10.09
#1  (0) 2021.10.09