
지난시간에 구조체, 클래스를 배웠는데요! 오늘은 구조체 안에 메소드를 변경할 수 있게 해주는 mutating 메소드를 알아볼거에요 ! 구조체 mutating 사전적의미 mutate: 돌연변이가 되다. / 돌연변이를 만들다. 구조체와 열거형 내부의 데이터를 수정할 때는 mutating 키워드를 선언 해주어야 합니다. 값 타입 프로퍼티들은 해당 인스턴스 메소드 내에서 수정할 수 없어요. 이걸 가능하게 해주는게 mutating 입니다!! struct Point { var x = 0.0, y = 0.0 mutating func moveBy(x deltaX: Double, y deltaY: Double) { print("beforeX:",x) // beforeX: 1.0 print("beforeY:",y) //..

상수 및 변수 (let, var) 상수와 변수는 사용하기 전에 선언해야 합니다. 상수 let 키워드로 상수선언 한번 선언되면 변경할 수 없습니다. let name = "peppo" name = "swift" // ( X ) error 변수 var 키워드로 변수선언 변수는 변경 가능합니다. var age = 200 age = 100 정수 (Integers) Int 키워드로 사용하며, 32비트 플랫폼 - Int32 64비트 플랫폼 - Int64 를 사용합니다. var number = 20 var number = -20 UInt 부호 ( - )가 없는 정수 유형이 '특별히' 필요한 경우에만 사용하길 권장. var number: UInt = 10 // (O) var number: UInt = -10 // (X)..

연산자 용어 단항 연산자 -a !b c! 이항 연산자 2 + 3 삼항 연산자 a ? b : c // a가 true면 b를 return // 아니면 (else) c를 return 할당 연산자 상수, 변수에 모두 사용 가능하며, 값을 초기화 시키거나 변경 합니다. let b = 10 var a = 5 a = b // a 값은 10 여러 값을 한번에 할당 할 수도 있습니다. let (x, y) = (1, 2) // x 값은 1, y 값은 2 사칙 연산자 덧셈 ( + ), 뺄셈 ( - ), 곱셈( * ), 나눗셈( / ) 나머지 연산자 a % b 와 같이 나머지 연산을 지원합니다. 11 % 2 // 1 8 % 2 // 0 단항 음수 연산자 let three = 3 // 3 let minusThree = -t..

private lazy var dateFormatter: DateFormatter = { let formatter = DateFormatter() formatter.dateFormat = "yyyy-MM-dd" return formatter }() 코드를 보다보면 lazy 라는걸 한번쯤 보셨을거에요. 오늘은 Lazy Property에 대해 알아 보려고해요 ! 단어뜻으로 보면 게으르다는 뜻인데 어떤 뜻인지 같이 알아보겠습니다 :) Lazy Stored Properties (지연 저장 프로퍼티 ) 값이 사용되기 전에는 계산되지 않는 프로퍼티입니다. 불려지기 전에는 가만히 있는 애인가 보네요. 선언 프로퍼티의 선언 앞에 lazy 키워드를 붙이면 됩니다. 아래처럼 말이죠. // lazy var 변수명: 타입 =..
앱을 사용하다보면 시간을 활용해서 알람을 보내거나 여러가지 기능을 구현할수 있는데, 이 글에서는 날짜를 다루는 방법 에 대해 알아보려고 합니다. Date()를 선언하게 되면 2021-09-25 06:10:50 +0000 이런식으로 나오게 되는데 아래와 같은 사진으로 변경해봅시다!! 먼저 시간을 조절할수있는 DatePicker에 대해 알아보도록 하죠. DatePicker 1. ViewController 추가. (저는 `DateViewController`로 이름을 지었습니다.) 2. Objects Library (Shift + cmd + L)에 Datepicker 추가. 3. (선택) 이쪽에서 DatePicker에서 원하는 디자인을 선택할수 있습니다. 저는 시간만 변경하는걸로 설정했습니다. Preferred..

메소드에 이어서 프로퍼티에 대해 공부를 해봅시다. 오늘도 프로퍼티 (Properties) 늘 그래왔듯 정의 부터 보죠! 프로퍼티는 클래스(class), 구조체(struct), 열거형(enum)과 관련한 값 입니다. 종류로는 저장 프로퍼티 와 연산 프로퍼티 등이 있습니다. 프로퍼티에는 대표적으로 두가지 종류가 있어요. 이외에도 타입 프로퍼티 등 더 있긴하지만 오늘은 저장 프로퍼티를 먼저 보려고 합니다. 하나씩 파헤쳐 봅시다! 저장 프로퍼티 (Stored Properties) 이름 그대로 값을 저장하고 있는 프로퍼티 입니다. let(상수) 또는 var(변수) 키워드를 선언해서 사용할 수 있어요. 예제를 보면서 해볼까요? 눈으로 보는것보단 Playground에 같이 따라하는게 더 이해가 잘갑니다 :) 저장프로..

iOS 버전이 낮은 시뮬레이터로 Run을 했을때 아래의 오류가 생기면서 컴파일 되지 않았습니다. The linked library '파일명' is missing one more architectures required by this target: arm64. 해결 두가지 방법이 있습니다. 1. (없어도 될 라이브러리, 프레임 워크일경우) General - Framworks, Libraries, and Embedded Content 에러가 나는 라이브러리 삭제 2. (라이브러리, 프레임워크가 필수로 있어야 하는경우) Build Settings - Architectures - Excluded Architectures - arm64 추가

가장많이 보았고 가장많이 헷갈렸던 인스턴스, 메서드 에 대해 정리 해 보려 합니다 그동안 어림짐작해서 이건 메서드겠구나 했는데 정확히 알고 넘어가야겠다!!! 메서드 (Methods)특정 타입의 클래스, 구조체, 열거형과 관련된 함수 를 메서드라 합니다.함수 , 이것은 함수였다.메소드에는 인스턴스 메서드, 타입 메서드 가 있어요. 인스턴스 메서드 ( Instance Methods )인스턴스 메서드는 특정 클래스(class), 구조체(struct), 열거형(enum)의 인스턴스에 속한 메서드 입니다. 아래 코드 처럼요!class Counter { //

문제 라이브러리 설치할때마다 DEPLOYMENT_TARGET 버전이 변경되서 빌드를 할때마다 각 라이브러리의 타겟 버전을 변경해줘야 하는 번거로움이 있었습니다. 해결 Podfile에서 아래 내용을 추가해줍니다. // 이 내용을 추가해주세요. post_install do |installer| installer.pods_project.targets.each do |target| target.build_configurations.each do |config| config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '11.0' // 5.4' pod 'SnapKit', '~> 5.0.0' // 여기 추가 post_install do |installer| installer...
- Total
- Today
- Yesterday
- swift programmers
- Swift ModernRIBs
- swift (programmers)
- 원티드 프리온보딩
- Swift Error Handling
- Swift init
- 2023년 회고
- swift reduce
- Swift joined
- Swift
- Swift 프로퍼티
- removeLast()
- Swift RIBs
- Swift 프로그래머스
- swift protocol
- Swift final
- Swift Leetcode
- Class
- Swift joined()
- Swift 알고리즘
- CS 네트워크
- swift property
- iOS error
- swift 고차함수
- RIBs tutorial
- Combine: Asynchronous Programming with Swift
- Swift 내림차순
- Swift inout
- RTCCameraVideoCapturer
- ios
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
31 |