![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/brdOSh/btrx6Z9BB1K/0QHANNxkYr85EgTNCkwdfK/img.png)
최근 수정일자 (2024.12.28) 오늘은스토리보드 없이 코드로 작업시 세팅하는 부분에 대해 알아보겠습니다 :) Xcode 11 버전 이상Xcode 10 버전 이하 나뉘어져 있으니 본인에 맞는 버전으로 적용하시면 됩니다. Xcode 11 이상 버전 • Main.storyboard 삭제 Move to Trash 로 파일을 완전 삭제 해줍니다. • Main.storyboard 에 대한 참조 제거 • Info.plist Storyboard Name 삭제 • main window 생성SceneDelegate scene 메소드에서 아래와 같이 입력해줍니다. // SceneDelegateclass SceneDelegate: UIResponder, UIWindowSceneDelegate { var w..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/zr2vp/btrxZCTtaAx/jv9XLoLNKRAQmxkMC1b5E0/img.jpg)
상속 (Inheritance) 클래스는 메소드, 프로퍼티, 다른 특징들을 다른 클래스로 부터 상속할 수 있습니다. 상속을 해주는 클래스를 superclass(상위 클래스, 슈퍼 클래스)라고 하며, 상속 받는 클래스는 subclass(하위 클래스, 서브 클래스)라고 합니다. 상속은 Swift에서 다른 유형과 클래스를 구별하는 근본적 요소 입니다. 클래스는 상속된 프로퍼티에 프로퍼티 옵저버를 추가하여 프로퍼티 값이 변경될 때 알림을 받을 수도 있습니다. 프로퍼티 옵저버는 저장프로퍼티, 연산프로퍼티에 관계 없이 모든 프로퍼티에 추가할 수 있습니다. 프로퍼티 옵저버는 여기에 정리해 놓았습니다. 클래스 정의 (Defining a base class) base 클래스란 어떤 클래스로 부터도 상속받지 않은 클래스를 ..
Figma 에서 6.5인치 스크린샷 미리보기 작업을 끝내서 앱 심사 하려니깐 5.5인치도 올리란다.. 으아........... 상당히 귀찮았던 작업인데 또 해야한다니 라고 생각했지만 역시 사이즈 조절해주는 사이트가 있었다 https://www.iloveimg.com/resize-image Resize multiple images at once! Resize multiple JPG, PNG, SVG or GIF images in seconds easily and for free. Bulk resize images by defining pixels or percentages. www.iloveimg.com 여기서 6.5인치에 작업했던 스크린샷을 5.5인치 사이즈 (1242x2208)로 변환해주면 된다 :)
보호되어 있는 글입니다.
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bp2hOW/btrxKiIRbcU/wAztWs2TkZIi5QBIaI2hV0/img.png)
경쟁 상황 (Race Condition) 두개 이상의 Thread를 사용하면서, 동일한 메모리 접근 등으로 인해 발생할 수 있는 문제 아래 예제를 보시죠. var value = 777 func changeValue1() { sleep(2) value = 222 } func changeValue2() { sleep(2) value = 0 } queue.async { changeValue1() } queue.async { changeValue2() } print("(비동기)함수 실행값:", value) print에는 뭐가 찍힐까요 ? 777 이나와요. changeValue1,2 함수가 실행되고 기다리는동안 (sleep) 제일 아래 print 문이 실행되는거죠. 해결방법 (3가지) 1. TSan (Thread..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/vrT1U/btrxqaJzty8/613liGVvEp3LECFwYjoBbk/img.png)
코드 영역 (Code) 소스 코드 → *기계어 형태로 변형되어 수정이 불가능하게 Read-Only로 저장 된다. 기계어: 컴퓨터가 읽을 수 있는 0, 1 로 이루어진 언어. 시점 컴파일 타임 데이터 영역 (Data) 전역변수, 정적 (static) 변수가 저장 되는 영역 struct Person { // 정적 변수로 데이터 영역에 할당 static let name = "Peppo" } // 전역변수로 데이터 영역에 할당 var age = Int var height = Int 시점 컴파일 타임 프로그램이 시작할 때 할당 프로그램 종료시 소멸 힙 영역 (heap) 개발자가 할당/ 해제 하는 메모리 영역 mallock, calloc 으로 힙에 메모리를 할당할 수 있고, 이를 '동적 할당' 이라 한다. 사용 후..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/dji60d/btrxgFpavXD/RzyyJ4ijq9lX6ppy8KljBk/img.png)
메모리 구조 공부를 하다보니 컴파일 타임, 런 타임 시점이 각각 나오길래 한번 알아보려고 합니다. 개발 하다보면 컴파일에러, 런타임 에러는 많이 봤는데 시점도 짚어보고 갈겸 가봅시다~ 컴파일 타임 (Compile Time) 소스코드 -> 기계어 코드로 변환 하는 과정 (컴파일) 을 말합니다. 컴파일 에러 컴파일을 실행할 때 문제가 발생하면 나타나는 에러로 문제가 발생하는 소스코드 라인을 알려줍니다. 종류 Syntax Error Type 체크 에러 파일 참조 과정에서의 오류 런 타임 (Run Time) 컴파일 과정을 마친 응용 프로그램이 사용자에 의해 실행 되어지는 '때' 를 말합니다. 런타임 에러 런타임에러는 프로그램이 실행되는 중에 발생하는 에러 입니다. nil/ null 참조 오류 메모리 부족 오류 ..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/tbxpH/btrxaOGuvZP/IUzgv7KEUL33m8YRFincxK/img.jpg)
서브스크립트 (Subscripts) 클래스, 구조체, 열거형에서 스크립트를 정의해 사용할 수 있습니다. 서브스크립트를 활용하면 추가적인 메소드 없이 특정 값을 할당하거나 가져올 수 있습니다. 예를들어, Array 인스턴스의 특정 요소에 someArray[index] 문법으로, Dictionary 인스턴스의 특정 요소에 someDictionary[key] 이런식으로 접근할수 있습니다. 하나의 타입으로 여러 서브스크립트를 정의할 수 있으며, 오버로드(Overload)도 가능합니다. (질문) 또한 필요에 따라 여러 인자 값을 사용할 수 있습니다. 서브스크립트 문법 (Subscripts Syntax) 인스턴스 메소드 문법과 연산 프로퍼티 문법과 유사합니다. 다만, 서브스크립트에선 읽기-쓰기(read-write)..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/b1Dzdn/btrwPchaGnB/A2VKKgxrem4kCezkLX4cSk/img.png)
알람 부분을 구현하는 중에 아래의 프로퍼티들을 담은 Alarm 이라는 객체를 만들어 UserDefaults에 저장하려고 합니다. // Alarm.swift struct Alarm: Codable, Equatable { let alarmTable: String let alarmMeridiem: String let alarmTimes: String } 아하! 저번에 UserDefaults 때 값 저장, 불러오기는 아래 처럼 하면 된다했었지 ! 그럼 이렇게 값저장 하면 되겠네 ! . . . 응 안돼 ~ 객체를 저장할때는 조금 다른 방식으로 합니다. 바로 PropertyListEncode, PropertyListDecode를 활용하는데요. 간단하게 Encode, Decode의 개념에 대해 알아보고 갈게요 Enc..
- Total
- Today
- Yesterday
- Swift 프로그래머스
- swift (programmers)
- Swift inout
- 2023년 회고
- Class
- Swift 프로퍼티
- swift property
- Swift init
- RTCCameraVideoCapturer
- Swift Error Handling
- iOS error
- Swift RIBs
- CS 네트워크
- Swift ModernRIBs
- Combine: Asynchronous Programming with Swift
- 원티드 프리온보딩
- removeLast()
- swift 고차함수
- Swift 알고리즘
- RIBs tutorial
- Swift final
- Swift 내림차순
- swift protocol
- Swift Leetcode
- swift programmers
- Swift
- swift reduce
- Swift joined
- ios
- Swift joined()
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |