목록swift 시작기 (21)
BOID

안녕하세요, HoonIOS입니다. :) 오늘은 상속을 뽀시기 위해서 포스팅을 하게 되었는데요, 상속은 스위프트 가장 큰 특징이자 가장 큰 기능으로서의 하나라고 할 수 있습니다. Inheritance(상속) 상속은 기반 클래스 형태의 클래스가 다른 클래스로 상속을 해주는 클래스 형식으로 클래스 하나에 하나의 클래스만 상속받을 수 있다는 것이 가장 큰 특징입니다. 아! 상속은 구조체, 열거형 같은 같타입에서는 사용을 할 수 없으니 값 타입에 상속시킨다고 열심히 코딩을 하시면 말짱 도루묵이 되니 주의하셔야 합니다! 클래스는 상속에 따라 부모클래스, 자식 클래스로 나뉘는데 이에 대해 간단하게 설명을 드려보겠습니다. B클래스가 A클래스를 상속받은 B클래스는 자식 클래스라고 표현을 하고 A는 B의 부모 클래스라고 ..

안녕하세요 HoonIOS입니다. 저번에 프로토콜에 대해 포스팅을 했는데요 한 페이지에 하면 양도 너무 많아서 두 개로 나눴습니다. 이번 포스팅에서는 이니셜라이저 상속, 여러 프로토콜의 상속, 매개변수값에 프로토콜을 상속, optional프로토콜에 대해 포스팅하려고 합니다. boidevelop.tistory.com/76 [swift] 프로토콜(protocol) (1 / 2) - HoonIOS 안녕하세요 HoonIOS입니다. :) 델리게이트에 대해 다시 공부하던중 델리게이트 메서드 앞에 optional이라는 프로토콜에서 선택적 요구사항에 대해 다시 공부를 하던중 프로토콜을 한번 전체적으로 boidevelop.tistory.com 프로토콜에 이니셜라이저 구현 이니셜라이저도 프로토콜에 구현을 할 수 있습니다. ..

안녕하세요 HoonIOS입니다. :) 델리게이트에 대해 다시 공부하던 중 델리게이트 메서드 앞에 optional이라는 프로토콜에서 선택적 요구사항에 대해 다시 공부를 하던 중 프로토콜을 한번 전체적으로 포스팅하는 게 나쁘지 않겠다고 생각을 프로토콜에 대해 포스팅을 하려고 합니다 ㅎㅎ 프로토콜은 스위프트 언어 안에서 매우 강력한 기능입니다. 스위프트를 처음 발표를 했을때 애플에서 스위프트는 프로토콜 지향 프로그래밍 언어라고 발표를 했죠 그럼 프로토콜이란 무엇일까요? 프로토콜이란? 프로토콜은 특정 역할을 수행 하기 위한 메서드, 프로퍼티, 이니셜 라이저 등을 청사진으로 정의한 것으로 하나의 밑그림을 그린 것으로 생각을 하시면 됩니다. 어떤 프로토콜의 요구사항을 따르는 타입은 해당 프로토콜을 준사한다고 나타낸..

안녕하세요. HoonIOS입니다. :) 오늘은 알고리즘을 공부하다가 map, filter에 대해 좀 더 자세하게 알고 싶어서 공부를 좀 했습니다. (-.-) (_ _) (-.-) ※ 고차 함수란? - 매개변수로 함수를 갖는 함수 - 맵, 필터, 리듀스 등이 있습니다. - 이런 고차 함수들은 알고리즘을 공부할 때 readLine을 통해 입력받은 값을 정리하는 데 사용이 되기 때문에 확실히 알고 가는 게 좋을 거 같습니다. 맵(Map) 이란? - 자신을 호출할 때 매개변수로 전달된 함수를 실행하여 결과를 다시 반환하는 함수입니다. - 배열, 딕셔너리, 세트, 옵셔널 등의 환경(?)에서 사용을 할 수 있습니다. - 맵의 원리는 컨테이너가 담고 있던 각각의 값을 매개변수를 통해 받은 함수에 적용을 한 후 다시 ..

안녕하세요 HoonIOS입니다. :) ( 우선 포스팅을 하기 전에 여기에 있는 예시 및 조건은 다중스레드가 아닌 단일 스레드에서 컴파일, 실행이 된다고 가정을 하는 것입니다. ) 스위프트는 상당히 안전을 중요하게 생각하는 언어입니다. 그중에서 메모리의 안전한 접근에 위험을 줄이도록 장치를 두었는데요, 그중에 대표적인 것이 변수를 사용하기 전에 initalize를 하고 해제된 메모리에 접근을 할 수 없도록 하는 것이 있습니다. 사실 스위프트는 컴파일러에서 메모리를 자동으로 관리해서 굳이 신경을 쓸 필요가 없는데요. 그 이유는 메모리 접근 충돌이 생길만한 코드를 미리 알려주는 방식으로 관리가 되고 있습니다. 메모리 접근 충돌에 대해 * 메모리에 접근을 하는 방법 3가지 개발자가 변수에 값을 할당 함수의 전달..

안녕하세요 HoonIOS입니다. :) 후처리인 defer에 대해 알아보겠습니다. 크게 defer는 코드 블록을 나가기 전에 무조건 꼭! 꼭! 꼭! 실행되는 코드라고 생각하시면 됩니다. defer란? - defer구문을 사용하면 현재 있는 코드 블록을 빠져나가기 전에 꼭 실행해야 하는 코드를 작성해줄 수 있습니다. - defer구문의 특징은 오류가 발생해서 코드블록을코드 블록을 나가든, 정상적으로 코드 블록을 나가든 defer구문은 코드가 블록을 빠져나가기 전에 무조건 실행이 됩니다. ( 따라서 만약 파일을 열고 사용하고 있다가 에러가 발생해서 코드가 블록을 빠져나가게 되면 그전에 그 파일을 정상적으로 닫아 메모리 해제를 해야 되는데 그때 defer구문 내부의 코드를 실행시켜 정상적으로 메모리를 해제시켜줄..

안녕하세요 HoonIOS입니다. :) 저번에는 try를 통한 오류를 처리하는 방법과 do-catch문을 통해 오류를 잡는 부분에 대해 알아봤습니다. boidevelop.tistory.com/40 [swift] 함수에서 발생한 오류 알리기(try ,try! ,try? , do - catch) - HoonIOS 안녕하세요 HoonIOS입니다. :) 저번에는 오류처리의 정의와 Error 프로토콜, throw에 대해 알아봤습니다. 이제는 오류를 처리하는 방법인 try, try?, try!, Do - catch에 대해 알아보겠습니다. 함수에서 발생 boidevelop.tistory.com 이번에는 다시 던지는 rethrows키워드에 대해 알아보겠습니다. 다시 던지기 (rethrows) - 함수나 메서드 rethr..

안녕하세요 HoonIOS입니다. :) 저번에는 오류처리의 정의와 Error 프로토콜, throw에 대해 알아봤습니다. 이제는 오류를 처리하는 방법인 try, try?, try!, Do - catch에 대해 알아보겠습니다. 함수에서 발생한 오류 알리기 - 함수에서 발생한 오류를 해당 함수를 호출한 코드에게 알려주는 방법입니다. - 함수가 오류를 던지면 프로그램의 흐름이 바뀔 가능성이 매우 큽니다. 따라서 오류를 어디서 던지고 받을지 결정을 잘해주어야 합니다. * throw를 이용하여 던진 오류를 try를 이용해서 그 오류를 있는 것은 알지만 시도는 해볼게라는 의미입니다. - try는 try, try!, try?를 통해서 표현을 할 수 있습니다. 따라서 이 3종류에 대한 특징을 알아보겠습니다. 종류 특징 t..