관리 메뉴

김종권의 iOS 앱 개발 알아가기

[swift] 1. 스위프트의 특성 (intro) 본문

swift 5 문법

[swift] 1. 스위프트의 특성 (intro)

jake-kim 2020. 3. 25. 00:28

1. 정적 바인딩 언어

  파이썬과 같이 데이터 타입 추론 기능이 있지만, 스위프트는 정적 바인딩 언어

 let myValue = 24

 let myValue : Int = 24

 

2. 프로토콜

 자바의 인터페이스 기능과 동일

1
2
3
4
protocol myProtocol {
   var myValue : String { get }
   mutating func adjest()
}
 

 

3. 튜플

 함수나 메소드에서 두 개 이상의 값을 반환해야 한느 경우, 모아서 하나의 객체로 반환

1
2
3
4
func getItem() -> (IntInt, Double) {
   return (123.5)
}
var myValue : (IntInt, Double) = getItem()
 

 

4. 클로저(Closure)

  함수를 1급 객체로 취급하며 익명함수로 사용할 때의 간결성 제공

 * 함수형 언어란? : https://ios-development.tistory.com/54?category=887218

 

[swift] 15. 객체지향 vs 함수형

1. 정의 1) 객체지향언어 : - 데이터를 객체로 취급하고 처리 요청을 받은 객체가 자기 안에 있는 기능을 가지고 처리 - 추상화, 캡슐화, 상속, 다형성 - 데이터를 기록하는 것을 강조 2) 함수형언어 : - 최소한의..

ios-development.tistory.com

 

5. ARC(Auto Referencing Counter)

 참조 카운트를 통한 메모리 관리

 * struct 정의형 인스턴스는 call - by - value (단일 참조)이지만 class 정의형 인스턴스는 call - by - reference (다중 참조)이므로 메모리 해제 시 ARC와 같은 방법이 필요

 

6. 파일 통합

 헤더 파일과 소스 파일이 모두 .swift확장자를 갖는 파일 하나로 통합

 

7. 범용 타입

 Any는 스위프트에서 제공하는 모든 타입의 값을 저장할 수 있는 타입, AnyObject는 클래스에 한해 범용으로 사용 가능한 타입

 

8. nil

 값이 존재하지 않음을 의미(optional 타입의 기본값)

 

9. 시작점(entry point) : @UIApplicationMain 어노테이션을 사용하여 시작점 결정 (main함수가 존재하지 않음)

1
2
3
 import UIKit
 @UIApplication
 class myDelegate : UIResponder, UIApplicationDelegate
 

 

10. 예외 처리

 try~catch, optional타입

https://ios-development.tistory.com/16

 

[swift] 12. 예외 처리 (throws, throw, do - try - catch)

1. 예외 처리 필요한 이유 - optional타입은 오류가 발생했을 때 오류에 대한 정보를 외부로 전달할 방법이 없음 2. 구현 방법 - 함수가 반환할 오류는 일관된 주제와 연관된 경우(문자열이 있을 때,

ios-development.tistory.com

 

Comments