1. 기존 iOS app모델에 적용가능한가?스켈레톤 api 들은 어떻게 되나?
1.1. app 모델이 같고 lifecycle api 스팩도 같다. 각자 자기의 언어표현대로 표현된다.
2. objectvie c와 혼용시 주가 되는 언어는?
2.1. 프로젝트를 생성한쪽의 언어
2.1.1. xcode 에서프로젝트 생성시 언어선택
3. swift만으로 iOS app 생성이 가능한가
3.1. yes
4. 언어적 특징
4.1. header파일이 없다
4.1.1. prototype 선언이 따로 없다
4.1.1.1. java 처럼
4.2. type 이 없다 변수선언할때 그냥 var myVar
4.3. let : 상수화 시키는 명령어
4.4. 포인터가없다
4.5. 문장끝에 세미콜론; 안쓴다.
5. iOS objective c api 와 1:1 대응되나?
5.1. 추가적인 기능은?
5.1.1. leverage language
5.2. yes
5.2.1. symbol도 같다. 예) UIControl은 두 언어에서 모두 같은 UIControl
6. access control
6.1. public, private에 대응하는 swift 용어는 머냐
7. modern objective c
7.1. migration하려는 소스코드는 modern objective c 를 adopt해야한다
8. 기존프로젝트를 마이그레이션한다는것이 가능한가
8.1. 마이그레이션방법: file base, 즉 한번에클래스 하나씩 변환한다.
8.1.1. .h, .m 이 하나의 .swift 로 만든다. (수동으로 하는거) 헤더파일은 xcode 가 자동으로 생성한다.
8.1.1.1. 소스코드가 swift로 자동변환되는거 아니고 사람이 손으로 써준다.
8.1.1.1.1. swift 문법을 익혀야한다
8.2. 기존 프로젝트에 swift 적용한다면 어떤 묘듈 교체가 좋을까
8.2.1. 서브클래스하지 않은 클래스를 선택한다
8.2.1.1. swift는 서브클래스가 안된다
9. objective c 와 혼용하는 방법
9.1. 교차 콜이 가능
9.1.1. target이 object c 인경우 c style header file이 필요하고 xcode 가 swift code 의 헤더파일을 자동생성해준다
9.1.2. framework 인경우 : c를 swift 에 importing할때: swift에 export 할 헤더들을 모두 하나의 헤더파일(우산헤더)에서 import 한다
9.1.2.1. 이 우산파일은 수동으로 만드는거?
9.1.2.1.1. xcode 의 메뉴중 우산헤더만들기가 있을듯
9.1.3. 예를들면, custom objective c 함수를 swift에서 호출할 때에는, swift문법으로 호출
10. playground 가 머냐
10.1. 에디터냐
10.1.1. no
10.2. 시뮬레이터냐
10.2.1. no
10.3. 기능테스트용 에디터+자동컴파일+시뮬레이터
10.3.1. 결과물이 될수는 없다
10.4. ui component 는 출력해볼수 없나
11. umbrella header
11.1. swift into objective c
11.1.1. xcode가 자동으로 헤더파일을 생성해주는데 이게 umbrella header
12. 그래서 어쩌라고
12.1. 기존 ios 프로젝트에 스위프트적용하려면
12.1.1. swift문법을 익혀서 class 단위로 사람이 수동으로 코드를 번역한다.