swift

Swift

Swift - ViewController life cycle

📌 목차 서론 viewDidLoad viewWillAppear viewDidAppear viewWillDisappear viewDidDisappear 📌 서론 각각의 라이프 사이클이 있습니다. 상세하게 알아보겠습니다. 📌 viewDidLoad 뷰 컨트롤러의 모든 뷰들이 메모리에 로드됐을 때 호출 보통 뷰와 관련된 추가적인 초기화 작업, 네트워크 호출을 합니다. override func viewDidLoad() { super.viewDidLoad() print("viewDidLoad") } 📌 viewWillAppear 뷰가 뷰 계층에 추가되고, 화면에 보이기 직전에 매 번 호출 다른 뷰로 이동했다가 돌아오면 재호출 override func viewWillAppear(_ animated: Bool) { s..

Swift

Swift - Content Hugging, compression Resistance

📌 목차 content hugging compression resistance 참고 📌 content hugging content hugging 이란 주어진 크기보다 작아질 수 있음을 나타냅니다. 두개의 같은 content hugging이 있습니다. 빨간색 파란색 둘다 251의 priority를 가지고 있습니다. 이때 빨간색을 250으로 줄이게 된다면 다음과 같이 됩니다. 📌 compression resistance compression resistance는 주어진 크기 보다 커질 수 있음을 나타냅니다. 이렇게 compression resistance의 priority를 준다면 이렇게 변경이 될 수 있습니다. 📌 참고 content hugging vs compression resistance

Swift

Swift 고차함수(map, filter, reduce)

📌 목록 고차 함수란? map filter reduce 📌 고차 함수란? 다른 함수를 전달 인자로 받거나 함수 싱행의 결과를 함수로 반환하는 함수 swift에서 제공하는 기본적인 고차함수: map, filter, reduce 📌 map let numbers: [Int] = [0, 1, 2, 3] // 풀어서 쓴 함수 //let mapArray = numbers.map { (number) -> Int in // return number * 2 //} // 간소화 let mapArray = numbers.map { $0 * 2 } mapArray // [0, 2, 4, 6] 📌 filter let intArray = [10, 4, 5, 20, 13] let filterArray = intArray.filte..

Swift

Swift closure

📌 목록 closure 이란? 클로저 기본 사용 Example parameter with closure 다중 인자 클로져 클로져 간소화 하기 📌 closure 이란? 코드에서 전달 및 사용할 수 있는 독립 기능 블록이며, 일급 객체의 역할을 할수 있음 일급 객체란? 전달 인자로 보낼 수 있고, 변수/상수 등르로 저장하거나 전달할 수 있으며, 함수의 반환 값이 될수도 있다! 📌 클로저 기본 사용 { (매개변수) -> 리턴 타입 in 실행 구문 } 📌 Example let hello = { () -> () in print("Hello") } hello() let hello2 = { (name: String) -> String in return "Hello, \(name)" } // hello2(name: "..

Swift

Swift try-catch

📌 목록 에러 처리란? Example 함수 안에서 처리 do try catch 값 전달 받기 📌 에러 처리란? 프로그램 내에서 에러가 발생한 상황에 대해 대응하고 이를 복구하는 과정 📌 Example 에러를 발생 시키려면 이렇게 해주면 됩니다. enum PhoneError: Error { case unknown case batteryLow(batteryLevel: Int) } throw PhoneError.batteryLow(batteryLevel: 20) // Error! 📌 함수 안에서 처리 // throws 뒤에는 리턴 타입 func checkPhoneBatteryStatus(batteryLevel: Int) throws -> String { guard batteryLevel != -1 else {..

Swift

Swift 옵셔널 체이닝

📌 목록 옵셔널 체이닝 이란? Example 📌 옵셔널 체이닝 이란? 옵셔널에 속해 있는 nil 일지도 모르는 프로퍼티, 메서드, 서브스크립션 등을 가져오거나 호출할 때 사용할 수 있는 일련의 과정 📌 Example struct Developer { let name: String } struct Company { let name: String var developer: Developer? } var developer = Developer(name: "Sam") var company = Company(name: "Eddie", developer: developer) print(company.developer) // company.developer.name -> Error! print(company.deve..

Swift

Swift 익스텐션

📌 목록 What is extension 기본 사용 Example 📌 What is extension 기존의 클래스, 구조체, 열거형, 포로토콜에 새로운 기능을 추가하는 기능, 다만 오버라이드는 불가능 합니다. 📌 기본 사용 extension SomeType { // 추가 기능 } 📌 Example extension Int { var isEven: Bool { return self % 2 == 0 } var isOdd: Bool { return self % 2 == 1 } } var number = 3 number.isEven // false number.isOdd // true extension String { func convertToInt() -> Int? { return Int(self) } } ..

Swift

Swift 프로토콜

📌 목록 What is protocol Example Class 에서 주의 사항 Init 📌 What is protocol 특정 역활을 하기 위한 메서드,프로퍼티, 기타 요구사항 등의 청사진 입니다. 📌Example protocol FullyNames { var fullName: String { get set } func printFullName() } struct Person: FullyNames { var fullName: String func printFullName() { print(fullName) } } 📌 Class 에서 주의 사항 상속될 것을 앞에 써주고 그뒤에 protocol을 써줘야 합니다. class SomeClass: SomeSuperClass, FirstProtocol, Secon..

eddie0329
'swift' 태그의 글 목록