Swift

· 🍎swift
NavigationCotroller는 왜 사용할까? 애플 공식문서를 확인해보면 이미지로 한눈에 알 수 있다. 밑에 이미지 처럼 View들의 계층을 Stack구조로 관리 할 수 있게된다. 즉 선입후출 구조로 View들이 계층일 이루게 해주는 역할을 한다. `NavigationCotroller`을 적용한다면 View들은 애플이 친절하게 이미 구현해 놓은 강력한 기능들을 사용 할 수 있다. 애플 공식문서에 나온 NavigationController 특징 요약 UINavigationController는 하나 이상의 뷰 컨트롤러를 관리하는 컨테이너 뷰 컨트롤러이며. 이 인터페이스에서는 한 번에 하나의 뷰 컨트롤러만 표시됨. 뷰 컨트롤러는 순서가 있는 배열(네비게이션 스택)을 통해 관리되며 배열의 첫 번째 뷰 컨트..
· 🍎swift
서론 연산자도 이미 구현되어있는 타입 메서드 입니다. 예를면 String타입이나, Int타입 등이 이미 구현되어있는 메서드 입니다. //String 타입 "Hello" + ", Swift!" // "Hello, Swift!" //Int 타입 1 + 2 //3 BUT.. 열거형, 클레스, 구조체를 + , - , 나 비교( > , =! , == 등등) 등을 사용하고 싶을 때 직접 정의하여 구현이 가능합니다. 연산자 커스텀 타입은 아래와 같은 특성이 있습니다. extension을 통해 특정 연산자의 논리를 정의 가능 파라미터명은 보통 lhs 와 rhs로 사용 enum타입(열거형) enum타입에서 == 타입 메소드 역시 이미 구현되어 있어 별도의 구현이 필요하지 않지만아래 코드에서 + 연산자 메소드를 원시값 +..
· 🍎swift
01 문자열은 배열일까? 배열에서 Index의 값을 뽑아내는 방법은 서브스크립트 문법을 사용하여 해당 인덱스 값을 반환할 수 있다. var array = [1,2,3,4,5] array[1] //2 문자열은 기본적으로 Collection Type이다 즉 Character 타입으로 이루어진 데이터 바구니에 담겨져 있다고 생각 할 수 있다. 하지만 위와 같이 Index를 반환하는건 불가능하다. 02 String타입의 메모리 저장 구조 Int타입,정수 형태의 배열의 저장구조는 일정한 메모리안에 일정한 간격으로 저장이 가능하지만 String타입은 일정하지 않은 간격으로 데이터가 존재한다 예를 들면 다음과 같다 var string = "한" //데이터(ㅎ+ㅏ+ㄴ) "한"이라는 데이터는 ㅎ+ㅏ+ㄴ으로 메모리상에 저..
문제 설명 정수 배열 numbers가 매개변수로 주어집니다. numbers의 원소의 평균값을 return하도록 solution 함수를 완성해주세요. 제한사항 0 ≤ numbers의 원소 ≤ 1,000 1 ≤ numbers의 길이 ≤ 100 정답의 소수 부분이 .0 또는 .5인 경우만 입력으로 주어집니다. 입출력 예numbersresult [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 5.5 [89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99] 94.0 입출력 예 설명 입출력 예 #1 numbers의 원소들의 평균 값은 5.5입니다. 입출력 예 #2 numbers의 원소들의 평균 값은 94.0입니다. 방법01 for문 사용 func sol(_ a:[Int]) -> Do..
Result타입이란? Result 타입은 보다 진보된 에러처리 방법이라고 생각하면 편하다. Result 타입의 특징은 다음과 같다. 내부적으로 열거형으로 구현되어있음 타입하나에 에러를 담을 수 있게 해줌 에러를 처리하는 방법 중 하나 좀 더 깔끔한 코드 작성이 가능해짐 사용예시 다음과 같은 상황에 있다고 가정해보자, 권군은 과자를 사러 편의점에 갔다, 결제를 하려 했지만 지급을 두고나와 카카오페이를 사용해야 한다. 카카오페이 잔액을 확인해보니 정확하게 3500원이 있는 권군은 3,500원에 딱 맞춰서 고르면 되는 상황 위와 같은 상황을 코드로 표현해보면 아래와 같은 코드로 작성 될 수 있다. 1. 일반적인 do-catch 블록을 활용한 에러처리 //1. 에러타입 정의 enum Kakaopay: Error..
· 🍎swift
01 정의 제네릭은 같은 동작을 하는 함수에서 타입만 변경하고 싶을 때 각각의 타입에 맞는 함수를 불필요하게 설계하는 일을 줄일 수 있다. 코드를 보면 쉽게 알 수 있다. var someNum1 = [0, 1, 2, 3, 4] var someDoubleNum1 = [0.1, 0.2, 0.3, 0.4] var someString1 = ["Swift", "Developer", "Apple"] func someGenerics(array: [Int]) { for int in array { print(int) } } func someGenerics1(array: [Double]) { for double in array { print(double) } } func someGenerics2(array: [String..
· 🍎swift
용어 설명 RF: reference couning, 객체가 몇개의 참조자를 참고하고 있는지의 갯수 ARC: Automatic Refercence Countion 컴파일러가 자동으로 RF를 추적하는 시스템 메모리 누수: memory leak 사용한 메모리를 헤제하지 않고 계속 쌓이거나 동작하는 현상 성능에 문제를 일으킬 수 있다 메모리 관리란? 프로그램이 실행되면서 사용되는 메모리 공간을 효율적으로 관리하는 것을 말한다. 즉 메모리를 효율적으로 관리 할 수 있도록 해주는 것.(메모리 누수 방지) swift는 objc와 다르게 컴파일러가 자동적으로 RF(reference couning) 메모리 관리를 도와주고 있는데,이를 ARC(Automatic Refercence Countion)이라고 한다. ARC(Au..
· 🍎swift
고차함수란 인풋을 함수로 사용하거나 함수의 결과를 함수로 리턴하는 함수 Dictionary, Set, Array (컬렉션)타입에서 주로 사용하지만, 특히 Array타입에서 많이 사용됨 고차함수에는 여러가지가 있지만 대표적으로 많이 사용되는 6가지가 있다. 또한 조합하여 특정 값을 만족시키는 값으로 구현 가능 접근법 점(.)문법을 통해 접근하고 클로저로 구현된다 따라서 문법최적화를 통해 보다 가독성 좋게 구현 가능 배열.map{ 클로저 } 배열.filer{ 클로저 } 01 Map 함수 각 아이템을 맵핑해서 사용 기존의 아이템을 각각 다른 새롭게 매핑해서 새로운 배열로 리턴함 var map01 = [1, 2, 3, 4, 5, 6] var newmap = map01.map { ("숫자:\($0)") } pri..
Kendrick
'Swift' 태그의 글 목록 (2 Page)