본문 바로가기

iOS (스파르타)

(150)
문법 심화 - 고차함수, 예외처리 05. 고차함수 1) map 함수map 함수는 컬렉션 내부의 기존 데이터를 변형(transform)하여 새로운 컬렉션를 생성합니다.기존의 컬렉션의 요소에 대해 정의한 익명함수로 매핑한 결과를 새로운 컬렉션으로 반환합니다.2) filter 함수기존 컨테이너의 요소 중 조건에 만족하는 값에 대해 새로운 컨테이너를 만들어 반환합니다.3) reduce 함수기존의 컨테이너의 요소에 대해 정의한 클로저로 매핑한 결과를 새로운 컨테이너로 반환합니다.  06. 예외처리 1) 실패 가능한 상황과 예외 처리에러처리프로그램에서 에러가 발생한 상황에 대응하고 이에 대응하는 과정입니다.Swift에서는 런타임에 에러가 발생한 경우, 이를 처리를 지원하는 클래스를 제공합니다.프로그램에서 모든 기능이 개발자가 예상하고 원하는대로 동..
문법 심화 - 클로저04 04. 클로저 1) 클로저(Closure)클로저는 이름없는 함수 즉, 코드 블록을 말합니다.클로저는 상수나 변수의 참조를 캡쳐(capture)해 저장할 수 있습니다스위프트의 클로저는 주변 환경에 있는 변수나 상수를 캡처하여 저장하고, 이를 나중에 사용할 수 있도록 합니다. 이것은 클로저가 생성될 때 클로저가 참조하는 변수 또는 상수의 값에 대한 복사본을 유지하고 저장하는 메커니즘입니다값(value) 캡처: 클로저가 변수나 상수의 값을 캡처합니다. 이때, 클로저 내부에서 캡처한 값이 변경되어도 원본 값은 변경되지 않습니다.참조(reference) 캡처: 클로저가 변수나 상수의 참조를 캡처합니다. 따라서 클로저 내에서 해당 변수나 상수를 변경하면 원본 값도 변경됩니다.클로저는 일반적으로 기능을 저장하기 위해..
계산기 과제 해설영상과 비교하기 Lv. 4 선택 구현 기능 (힌트 : 추상화)[ ] Lv4[ ] AbstractOperation라는 추상화된 클래스를 만들기[ ] 기존에 구현한 AddOperation(더하기), SubtractOperation(빼기), MultiplyOperation(곱하기), DivideOperation(나누기) 클래스들과 관계를 맺고 Calculator 클래스의 내부 코드를 변경[ ] 스위프트의 어떤 문법을 이용하여 추상화할 수 있을지 생각해 봅시다Lv3 와 비교해서 어떠한 점이 개선 되었는지 스스로 생각해 봅니다.hint. 클래스간의 결합도, 의존성(의존성역전원칙)추상화된 클래스.. 일단 무슨말인지도 잘 모르고.. 클래스 결합도랑 의존성 관련해서 모르겠어서들여다 보기만하고 시도는 못했었던 레벨4 ㅎ 해설영상에서는 일단 '연산..
iOS4기 24.06.10 오늘의 TIL 시작.  오늘 자는내내 뒤척여서 늦잠잘거같다 생각했지만,,,일찍 일어나기 성공! 하지만 내내 비몽사몽! 워료일은 힘들어! 코드타카시간 전에 문법 학습자료 공부 정리하고있었는데마무리를 못해서 게시물은 임시저장중 ㅎ 9시부터 코드타카시간!!!https://gghh0408.tistory.com/32 프로그래머스 29. 제일 작은 수 제거하기if arr.isEmpty || arr.count == 1 이거까지는 완전 수월,,, 하고 제일 작은 수 찾을 함수를 고민,, 하다가 정렬해야하니까 sorted 함수를 사용하고 싶었는데,,결국 해결하지 못했다...ㅋ 해보려고한거 까먹gghh0408.tistory.com 어떻게 맨날맨날 모르겠냐,,?이거 또 혼자 풀어보겠다고 이거저거 해보다가시간이 다 가서 스위..
문법 심화 - 접근제한자 03. 접근제한자코드 요소에 대한 외부 접근을 제한하여 모듈 간의 접근성과 보안을 조절하는 접근 제한자에 대해 학습 1) 접근 제한자      // playground상에서 완벽하게 하기는 힘들다..접근 제한자는 다른 소스 파일이나 모듈의 코드에서 코드 일부에 대한 접근을 제한[제약이 적음] open  public  internal  fileprivate  private [제약이 많음]open : 모든 소스 파일에서 해당 level 접근 가능 + 모든 곳에서 서브클래싱 가능(모든곳에서 상속 가능)public : 모든 소스 파일에서 해당 level 접근 가능 + 같은 모듈 내에서만 서브클래싱 가능(같은 모듈 내에서만 상속 가능)internal : 같은 모듈 내에서만 접근 가능 // 디폴트로 인터널 수준 적..
계산기 과제 해설 영상과 비교하기 Lv 1.와.. 처음 시작하는거 보자마자 '아.. 미췬.. 저런 방법이 있는데 나는 왜 갈피를 못잡고 예시를 보면서 더 어렵게했지?' 하고 한숨,,진짜.. 이렇게 짜야 맞는건데... 내 수준에서 레벨1은 진짜 저렇게 생각했어야 하는건데 ㅎ알고리즘 문제랑 스위프트 플레이그라운드 하면서 그렇게 func 사용을 해놓고 이걸 못써먹는다.. 하이고.. 바보다 바보야..ㅋㅋㅋ 스위치 케이스.. 나 진짜 머리 부여잡고 했는데 ㅋㅋㅋㅋㅋㅋㅋ와악!!!! 사람이 머리가 나쁘면 몸이 고생한다는데 나는 이거 하려고 머리랑 몸이랑 다 고생함 ㅠ  Lv 2.이것도 간단하게 나머지 추가.. 사실 Lv2는 1때 했던거에 나머지연산만 추가해주면 되는거라 어렵진 않았다.. default를 제대로 쓰는 방법을 잘 몰라서 애먹은거빼고는,,..
문법 심화 - 프로퍼티 옵저버, 타입 캐스팅 01. 프로퍼티 옵저버 1) didSet 과 willSet 💡 프로퍼티 옵저버변수에 프로퍼티 옵저버를 정의하여 프로퍼티 값의 변경 사항을 모니터링하고, 미리 구현한 코드로 이에 대응할 수 있습니다.다시 말하면 해당 프로퍼티를 관찰(observe)하면서 변경 사항이 발생할 때 실행됩니다willSet보다는 didSet이 많이 사용됩니다willSet과 didSet을 둘 다 작성했을 경우 willSet이 먼저 실행됩니다추가할 수있는 경우저장 프로퍼티(stored property)연산 프로퍼티(computed property)  didSetdidSet은 새 값이 저장된 직후에 호출됩니다.이전 프로퍼티의 값이 oldValue 로 제공됩니다.willSetwillSet은 값이 저장되기 직전에 호출됩니다.새로운 프로퍼..
iOS4기 24.06.07 앙뇽하세요 오늘의 TIL 스타트 어제 아주 아프고,, 어제의 여파로,,오늘 늦게 일어났습니다 ㅎㅎ이번주 제일 늦게 시작한거같은데요 ㅋㅋㅋ싸악 씻기까지해서 더 늦어진거같네욤,,, 오늘은 시간이 많지 않으니 iOS 멤버카드를 작성해보려고 했는데요아니 노션 너무 어려운거 아닙니까;;;내용은 하나도 못쓰고 ㅋㅋㅋ내새끼들 사진만 올렸네요 ㅎㅎ 노션이 제일 어려운거같은건,, 기분탓일까....? 9시에 코드카타 시간!2,3 문제씩은 풀어야할거같은데 오늘도 한문제에 스위프트 플레이그라운드를 곁들였어요 https://gghh0408.tistory.com/22 프로그래머스 28. 없는 숫자 더하기subtracting 메서드는 스위프트의 Set 타입에서 제공되는 메서드로, 한 집합에서 다른 집합에 포함된 요소들을 제거한 ..