본문 바로가기

Swift

(132)
[Swift] Functions의 개념과 활용점 알아보기! 주의 : Swift프로그래밍 3판 야곰책을 참고했으며 배우는 과정이기에 오탈자나 정확하지않는 정보가 있을 수 있습니다. 카테고리 - 함수란 - 기본적인 함수의 정의와 호출 - 매개변수 - 매개변수 이름과 전달인자 레이블 - 전달인자 레이블 변경을 통한 함수 중복정의 - 매개변수 기본값 - 가변 매개변수와 입출력 매개변수 - 반환이 없는 함수 - 데이터 타입으로서의 함수 - 중첩함수 - 종료되지않는 함수 - 반환값을 무시할 수 있는 함수 함수란(= 가장 작은 단위이자 하나의 작은프로그램) 함수 대부분은 작업의 가장 작은 단위이자 하나의 작은프로그램이다. '하나의 프로그램은 하나의 큰 함수다' 라는 말이 있듯이, 함수는 프로그램을 이루는 중요한 요소 중 하나이다. **스위프트에서 함수는 일급객체이기 때문에 ..
[Swift]Enumerations 개념정리 및 활용법 알아보기 주의 : 영문서 번역 중 오역이 있을 수 있으며 정확하지않는 정보가 있을 수 있습니다. 카테고리 - 열거형의 선언 및 변수생성과 값변경 - 열거형의 원시값 지정과 사용 - 원시값을 통한 열거형 초기화 - 연관 값을 갖는 열거형 - 항목순회 - 플랫폼별로 사용하는 조건 추가 - 연관값을 갖는 열거형의 항목 순회 - 순환 열거형 - 비교가능한 열거형 - 포인트정리 및 궁금증 열거형 연관된 항목들을 묶어 표현할 수 있는 타입이다. 열거형은 배열이나 딕셔너리 같은 타입과 다르게 프로그래머가 정해준 항목 값 외에는 추가/ 수정이 불가하다. 고로 딱 정해진 값만 열거형 값에 속할 수 있다. 열거형은 다음과 같은 경우에 요긴하게 사용할 수 있다. - 제한된 선택지를 주고 싶을때 - 정해진 값 외에는 입력받고 싶지않을..
[Swift]인스턴스메서드와 타입메서드의 개념과 차이점 주의 : 영문서 번역 중 오역이 있을 수 있으며 정확하지않는 정보가 있을 수 있습니다. 인스턴스메서드와 타입메서드의 차이는 무엇일까 ? 인스턴스 메서드란 특정한 enum 이나 struct, class의 인스턴스로 속해 있는 함수이다. 그것은 인스턴스를 돕기위한 기능이고 프로퍼티인스턴스를 수정하고 접근하는 방법을 제공하거나 또는 인스턴스를 연결시키는 기능으로써 사용된다. 인스턴스메서드는 정확히 함수의 구문과 정확이 일치한다. 인스턴스 메서드는 위에서본것과 같이 특정 타입의 인스턴스 위에서 호출을 할 수 있다. 근데 타입메서드는 타입자체위에서 호출할 수 있다. 이런걸 타입메서드라도 부르며 이는 함수 func 앞에 static이라고 써줌으로써 나타낼 수 있다. Class는 키워드 앞에 class라고 사용할 수..
[개발방법론]TDD란 무엇인가 참고 링크 What is Test Driven Development (TDD)? Tutorial with Example 2년간 걸쳐 TDD를 수행해 Bugs를 그래프비율로 나타낸 글 JP's blog TDD를 사용하는 개발자는 미래에 주요 리팩터를 만드는데 더 쉽게 시간을 할애 할 수 있다. 이것은 TDD가 알려진 환상적인 테스트 범위의 부산물이다. TDD (Test-driven development) 테스트 주도 개발은 매우 짧은 개발 사이클을 반복하는 스프트웨어 개발 프로세스 중 하나이다 개발자는 먼저 요구사항을 검증하는 자동화된 테스트 케이스를 작성한다. 그런 후에 그 테스트 케이스를 통과하기 위한 최소한의 코드를 생성한다. 마지막으로 작성한 코드를 표준에 맞도록 리팩토링한다. 이 기법을 개발했거나..
[struct&class]1차, struct 와 class의 메모리 저장방식 struct {}를 이렇게 생성하여 내부에 인스턴스 프로퍼티를 넣을 수 있다. 그 인스턴스 프로퍼티가 실제로 값을 받게되면 인스턴스화가 되어 메모리 공간이 1개가 생성이되는데 메모리에 인스턴스의 값을 저장하는 것이다. class {}를 이렇게 생성하여 내부에 인스턴스 프프로티를 넣을 수 있다. 그 인스턴스 프로퍼티가 실제로 값을 받게되면 인스턴스화가 되어 메모리 공간이 2개가 생성이되는데 하나는 인스턴스의 값을 저장하는 메모리와 또 하나는 인스턴스값의 주소를 저장하는 메모리가 생성이된다. 인스턴스를 만들면 메모리가 생긴다. 값타임은 값이 할당되면 인스턴스의 메모리를 복사하여 값을 담는다. 사본이 메모리에 존재하는 것이다. 참조타입은 값이 할당되면 인스턴스의 값에 대한 주소와 그 값을 가르키는 주소가 메모..
[UML]UML.. 우물?을 공부해봅시다. OMG에서 UML소개하는 사이트 About the Unified Modeling Language Specification Version 2.5.1 Version 2.5.1 공식문서 PDF 파일 UML이란 무엇인가 ? (시스템의 직관적 표현수단) 통합 모델링 언어 (UML : Unified Modeling Language)는 소프트웨어 공학에서 사용되는 표준화된 범용 모델링 언어이다. 라고 위키백과에서 확인할 수 있따. 사용 목적 - 객체지향 프로그래밍 소프트웨어 집약 시스템을 개발할때 산출물을 명세화, 시각화, 문서화 할때 사용함 견해) 코드로 프로젝트의 전체흐름을 파악하려면 번거롭고 직관성이 떨어짐으로 한눈에 구조와 흐름을 파악하기가 어려울 수있는데 UML 언어로 표현하면 개발구조를 보다 직관적으로 파..
[Git]용어 공부 # 깃 공부 # git init: 빈저장소를 만들다! 정상메세지 Initialized empty Git repository in /Users/dangmon/Documents/git-practice/.git/ # git add -A: 현재있는 파일을 만들겠다는 의미!# git status로 현황을 확인할 수 있음 Untracked files라고 나오며 파일명이 빨간색으로보인다면 정상출력이아니라 그냥 파일들이 만들어져만 있는 상태이다 라는 의미 // 추가x 만들어져있는 파일이 보임O 초록? 밝은 글씨체로 charges to be commited이라고 나오면 묻을 것들 이라는 의미로 준비됬다는 의미! # git commit: 만들어 놓은 파일들을 등록!하는 절차# git commit -m “메모” // -m ..
[iOS]iOS SDK란?? iOS SDK(Software Development Kit)는 iOS개발을 위한 애플의 소프트웨어 개발 키드이다. #소프트웨어 개발 키드(Software Development Kit)란? 일반적으로 소프트웨어 기술자가 사용하여 특정한 소프트웨어 꾸러미, 소프트웨어 프레임워크. 하드웨어 플랫폼, 컴퓨터 시스템, 게임기, 운영체제 등을 위한 응용 프로그램 등을 만들 수 있게 해주는 개발도구의 집합이다. 응용프로그램을 만들기 위해서는 특정한 SDK를 다운로드 받아야 하는데, 안드로이드 앱 개발을 위해서는 java를 포함한 SDK, iOS 개발을 위해서는 Swift가 포함된 iOS SDK .....등등 이 필요하다.
[iOS오류]이미지 버젼호환과 클린빌드 [오류 발생한 부분] iOS앱개발 스토리보드내에 이미지를 추가하기위해서 UIImage(named: “slider_thumb”)이 코드를 작성시도함 [에러메세지] Showing Recent Messages Command CodeSign failed with a nonzero exit code 그런데 아래와 같은 오류가 발생 선배님들 피드백에 의하면 클린빌드(command+Shift+K)를 시도해보라는 것이었다 클린빌드를 사용하니 오류는 바로 해결! 하지만 실행을 시도하니 추가적인 오류발생! [오류발생 문제점] UIImage(named: “slider_thumb”)라는 메서드를 사용하여 Asset Catalog에 담겨있는 이미지 리소스를 사용하려할때 오류발생 [에러메세지] The system version ..
[iOS]Asset?? 뭐하는친구야? [정리] (참고: Asset은 자산, 물건, Variation은 변동, 차이 ,Resource는 자원 라는 뜻을 가지고 있다.) 리소스(Resource)는 음악이나 이미지 파일, 또는 그 외의 여러파일 형식들을 말한다. 에셋(Asset)은 파일들을 각 디바이스마다 필요로하는 조건에 맞게 동작하게 해주는 역할이다. ex)iPhone와 iPad는 각각 필요로하는 화면의 크기나 비율이 다른데 이부분을 최적화하여 작동하게해주는 역할이 에셋이다. 에셋카탈로그(Asset Catalog)는 에셋을 관리하기 위한 폴더이다. 에셋 베리에이션(Asset Variation)은 에셋 파일 안에 iPhone, iPad, App Store 등등 각 집합이 존재하는데 이를 에셋 베리에이션이라고 칭함 에셋 카탈로그의 종류는 여러게가..