일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Unicode
- Protocol
- UIKit
- Swift
- init
- 스위프트
- String
- url
- property
- struct
- Xcode
- instance
- 이니셜라이저
- Terminal
- enum
- type
- Class
- interpace
- initalizer
- 디자인패턴
- delegate
- optional
- initializer
- IOS
- Git
- 코딩테스트
- Method
- Foundation
- tuist
- extension
- Today
- Total
목록Swift (64)
아리의 iOS 탐구생활
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..
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는 원자적으로 처리하기 때문에 일어날 충돌을 방지해준다. (..
Closures — The Swift Programming Language (Swift 5.5) Closures Closures are self-contained blocks of functionality that can be passed around and used in your code. Closures in Swift are similar to blocks in C and Objective-C and to lambdas in other programming languages. Closures can capture and store referen docs.swift.org 클로저(Closure)는 코드의 블록이다. 함수는 ‘이름이 있는 클로저’라고 표현한다. 보통 클로저는 ‘이름이 없는 코드블록’을 ..
Apple Developer Documentation developer.apple.com 아이폰 앱마다 자기만의 공간을 가지고 있는데, 이 공간을 관리하는 매니저라 생각하면 될 것 같다. 이 공간은 일반 맥, 윈도우처럼 Document 폴더, Download 폴더 등등 다양한 종류의 폴더가 있다. 경로(URL) 접근하기 다른 작업을 하기전 공통 사항인 해당 폴더로 접근하는 방법을 먼저 알아보자. // 파일매니저 인스턴스 생성 let fileManager = FileManager.default // 사용자의 문서 경로 let documentPath: URL = fileManager.urls(for: .documentDirectory, in: .userDomainMask)[0] urls라는 메소드는 요청된 ..