전체 글258 [Swift]오류처리(2) 저번시간에 이어 오늘도 마저 오류를 처리하는 방법들에 대해서 알아보려고 한다. 오늘은 크게 3가지를 볼 것이다. 첫번째로는 오류가 절대로 나지 않을 것을 확신할 때 오류를 어떻게 처리할 것인지와 두번째로는 오류를 던지는 함수를 매개변수로 받아 다시 또 오류를 던지는 함수 그리고 마지막으로는 후처리 defer에 대해서 알아보자. 1) 오류가 절대 나지않을 것을 확신할 때 오류가 나지 않는 다면 오류 던지는 함수를 try!로 받아주면 아주 간단하게 끝난다. 위의 코드를 보면 somThrowingFunction은 매개변수로 false를 받으면 절대 오류가 나지 않는다. 그러면 오류가 생기지 않음으로 별도로 do catch구문을 사용하지 않아도 된다.(do catch는 오류가 발생했을 때 그 오류를 처리하려고 .. 2020. 8. 16. [Swift] 오류처리(1) 거의 모든 언어에서는 발생할 수 있는 오류를 대비한 기능들이 존재한다. 물론 스위프트도 마찬가지이다. 예측가능한 오류들도 있을 수 있고 그러지 못한 오류들이 또 있을 수 있다. 이번 글과 다음글에서는 우리가 어떻게 이러한 오류들을 잘 처리할 수 있는지 알아보려고한다. 이번글과 다음글은 야곰님의 스위프트 프로그래밍(3판)의 내용과 docs.swift.org/swift-book/LanguageGuide/ErrorHandling.html 을 참조해서 쓰는 글임을 밝힌다. 처음에는 어떻게 오류를 표현할 수 있는지를 봐야한다. 오류는 다음의 형식으로 표현이 가능하다(enum에 대한 개념은 꼭 아셔야 합니다.) 예시는 자판기에서 음료를 뽑을 때 발생할 수 있는 오류들을 열거형(enum)식으로 나열한 것이다. 중요한.. 2020. 8. 9. [Swift] Map, Filter, Reduce 함수 알아보기 요즘 많은 IT직군에서 자기들이 쓰는 언어로 알고리즘 테스트를 본다. 만약에 안드로이드 개발을 원하는 사람들은 Java나 Kotlin으로 알고리즘 테스트를 볼 수 있고 IOS 개발을 원한다면 아마 Swift로 알고리즘 테스트를 볼 것이다. 또한 어떤 언어에서 알고리즘 테스트를 공부하던지 배열이 매우 많이 쓰이는 것을 알고 있을 것이다. 오늘은 배열에서 보다 간결하게 그 배열원소들을 정리할 수 있는 함수들을 알아보려한다. 3가지 모두 매우 중요하므로 잘 알아두자!! 1. map, filter, reduce 3가지 함수의 공통점 map함수와 filter함수 그리고 reduce함수의 공통점은 바로 매개변수로 함수를 받는 다는 것이다. 우리는 그리고 이러한 함수를 고차함수라고 부른다. 예를 들면 우리가 map함.. 2020. 8. 2. [Swift] ARC에 관한 문제 해결하기(클로저에 관하여) 저번 시간에는 클래스를 참조하면서 발생할 수 있는 ARC와 관련된 문제점을 알아보고 약한 참조와 미소유 참조 등 다양한 해결책도 같이 알아보았다. 이번 시간에는 ARC에 관한 마지막 글로 이런 강한 참조 문제가 클로저 내부에서도 발생될 수도 있고 이러한 것을 해결하는 해결책도 같이 알아보려고 한다.(참조가 가능한 것은 클로저와 클래스가 있다.) 1. 문제 발생 원인 다음을 보면 HTMLElement라는 클래스 내부에 지연 저장 프로퍼티인 asHTML이 보인다. 그리고 그속에서 self.text와 slef.name 등이 사용되고 있는 것들도 보인다. 이것은 HTMLElement라는 클래스 내부의 하나의 프로퍼티인 asHTML 클로저내에서 자신이 속해 있는 클래스를 다시 참조하는 것이다. 그래서 우리가 만약.. 2020. 7. 25. 이전 1 ··· 61 62 63 64 65 다음