일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 |
- Git
- Method
- enum
- extension
- initializer
- optional
- initalizer
- struct
- Terminal
- init
- Class
- interpace
- String
- Swift
- 코딩테스트
- Protocol
- Unicode
- type
- instance
- tuist
- 디자인패턴
- 이니셜라이저
- Foundation
- Xcode
- delegate
- UIKit
- IOS
- 스위프트
- url
- property
- Today
- Total
목록2021/09 (14)
아리의 iOS 탐구생활
Apple Developer Documentation developer.apple.com 타이머를 만들 수 있는 타입이다. 특정 시간이 지난 후 시작되어 지정된 메세지를 대상 객체로 보내는 타이머이다. 타이머는 Run Loop와 함께 작동하는데, Run Loop는 타이머에 대한 strong Reference를 유지하므로, Run Loop에 추가한 후 타이머에 대한 strong Reference를 유지할 필요가 없다. 타이머를 효과적으로 사용하려면 먼저 Run Loop가 작동하는 방법을 알아야 한다. Introduction Introduction Threads are one of several technologies that make it possible to execute multiple code pat..
AVAudioPlayer Apple Developer Documentation developer.apple.com 파일이나 메모리의 오디오 데이터를 재생하는 것들 담당하는 타입이다. local에 있는 오디오 파일을 재생할 수 있다. AVAudioPlayer가 할 수 있는 일은 다음과 같다. Play sounds of any duration Play sounds from files or memory buffers Loop sounds Play multiple sounds simultaneously, one sound per audio player, with precise synchronization Control relative playback level, stereo positioning, and pla..
iOS 프로그래밍 강의를 듣다가 만나게 된 번들. 이 번들은 디렉토리를 추상화한 용어이다. Bundle과 Package 개념을 서로 혼용해서 쓰는 경우가 많은데, 많은 Bundle이 Package이기도 하기 때문이다. application 같은 경우는 Finder에서 사용자에게 단일한 파일로 노출되는 Package이면서, 실행 코드와 리소스를 포함하여 Bundle이기도 한 대표적인 예시라고 볼 수 있다. A Bundle is a directory with a standardized hierarchical structure that holds executable code and the resources used by that code. 실행 가능한 코드와, 그 코드에 의해 사용되는 리소스를 가진 디렉토리...
Auto Layout Guide: Understanding Auto Layout developer.apple.com 뷰에 설정되어있는 제약조건(Constraints)을 기반으로 해서 동적으로 크기와 위치를 계산하는 것을 말한다. 사람들은 다양한 크기의 아이폰 디바이스를 사용한다. 그렇기 때문에 어플리케이션이 디바이스 사이즈에 구애받지 않고 동일한 화면을 구성할 필요가 있다. 그래서 나온 것이 오토레이아웃(Auto Layout)이다. 오토 레이아웃은 뷰의 크기와 위치를 동적으로 계산한다. 즉 인터페이스에 절대적인 좌표가 아닌 상대적인 좌표가 필요할 때 유용하다. 오토레이아웃이 주로 사용되는 이유는 외부 변경과 내부 변경 때문이다. 외부 변경(External Changes) 슈퍼뷰의 크기나 모양이 변경될 때..
코딩테스트 연습 - 신규 아이디 추천 카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로 programmers.co.kr 문제가 아주 친절하다. 1단계부터 7단계까지 순서가 나열되어 있는데, 단계별로 차근차근 구현해보는 문제이다. Swift의 문자열을 잘 다루는 편이라면 그다지 어렵진 않은 문제다. 한꺼번에 많은 것을 하려고 하지말고 단계별로 구현해보는 것을 추천한다. 힌트 String 관련 메소드를 활용하면 쉽게 풀수 있다. 더보기 func solution(_ new_id:String) -> String { var newID = "" // 1단계: 소문자로 치환하기 let..
코딩테스트 연습 - 소수 만들기 주어진 숫자 중 3개의 수를 더했을 때 소수가 되는 경우의 개수를 구하려고 합니다. 숫자들이 들어있는 배열 nums가 매개변수로 주어질 때, nums에 있는 숫자들 중 서로 다른 3개를 골라 더했을 때 programmers.co.kr 수학에서 소수(Prime number)는 인수로 1과 자기 자신만을 가지는 숫자를 말한다. 소수가 아닐 경우에는 1과 자신을 제외한 숫자로 n을 나누었을 때 나누어 떨어지게 된다. 그럼 소수인지 확인할 수 있는 방법은 무엇일까? 문제 핵심 및 힌트 소수를 판별할 수 있는가? 3개의 숫자를 중복없이 합을 차례로 만들 수 있는가? 이 두가지를 중심으로 문제를 풀어보면 될 것 같다. 더보기 // 숫자가 소수인지 확인하는 함수 func isPrime..
문자표와 문자표를 인코딩 한다는 개념 두가지를 기억하자. 유니코드는 국제표준 문자표이고 UTF-8은 인코딩 방식이다. 문자표(Character Set)란? ASCII, Unicode, UTF-8은 간단하게 요약하면 문자들을 숫자와 1대 1로 매칭시키는 것을 문자표라고 이야기할 수 있겠다. 우리가 단어장을 외우듯이 컴퓨터가 인간의 문자를 알아볼 수 있도록 인간의 문자를 컴퓨터가 읽을 수 있는 숫자의 형태로 표를 만들어서 컴퓨터에게 입력해주는 것이다. 대표적인 것은 아스키 코드표(ASCII)가 있겠다. 그러나 아스키는 영어권에서만 쓸 수 있어서 다른나라 언어의 문자표도 생기기 시작하였다. 그러나 너무 많은 문자표가 생겨버려서 컴퓨터가 혼란에 빠지자 '너무 많은 표준이 있으니 혼란스럽다. 하나로 다 통합하자!..
Strings and Characters — The Swift Programming Language (Swift 5.5) Strings and Characters A string is a series of characters, such as "hello, world" or "albatross". Swift strings are represented by the String type. The contents of a String can be accessed in various ways, including as a collection of Character values. Swi docs.swift.org Strings and Characters — The Swift Programming Language (S..
커스텀 타입을 설계하는 과정에서 'Cannot use mutating member on immutable value: function call returns immutable value' 라는 에러가 나와서 당황했다. 클래스와 구조체를 공부하면서 값타입 참조타입이 무엇인지 이해했다고 생각했으나 이 에러를 만나자마자 엥... 이게 뭐지...??? 갑자기 멘붕이 찾아와서 황급히 구글링을 시작했다. 내가 코드를 짜다가 발생했던 에러는 다음 예제와 같다. class ClassType { let name: String var age: Int init(name: String, age: Int = 0) { self.name = name self.age = age } } struct StructType { var cl..
Apple Developer Documentation developer.apple.com NSString에서 write라는 메소드를 살펴보다가 용어가 궁금하여 찾아보았다. true면 임시 저장소에 백업파일을 먼저 기록하고, 기록이 모두 성공하면 최종 데이터를 지정한 파일에 저장하게 된다. 원본 파일의 손상을 막을 수 있고 시스템이 크래시를 내는 일을 방지한다. false를 준 뒤 fail이 나면 저장하고자 하는 파일이 충돌이 날 것이다. 빈 파일이라면 상관 없겠지만… 쉽게 얘기하면 true는 파일을 원자적으로 처리하고, false는 원자적으로 처리하지 않는다. 속도면에서는 false가 빠를 수 있겠지만 충돌이 일어날 가능성이 있다. 반면 true는 원자적으로 처리하기 때문에 일어날 충돌을 방지해준다. (..