본문 바로가기

swift

(16)
[Swift] UserDefaults.synchronize() 공식 문서는 UserDefaults.synchronize()를 사용하지 말라고 권장한다.대기중인 비동기 업데이트가 기본 데이터베이스에 적용되기를 기다린 후 반환하는 함수이다. chat GPT에 따르면synchronize()가 필요한 상황은 앱이 종료되기 직전에 데이터를 저장해야하거나(크래시나 강제종료될 가능성이 높은 상황) 데이터가 즉시 디스크에 반영되어야하는 특수한 경우에 사용하는 것이며일반적인 상황에서는 set() 메서드 만으로 충분하며, 자동으로 디스크에 저장한다.
값 타입의 널 처리 주의할 점 if let intValue = self.intValue { //self.intValue는 값타입 이기 때문에 intValue는 복사된 값이다. intValue += 3 self.intValue = intValue // 복사된 값이기 때문에 다시 할당 해줘야함}//guard 도 마찬가지guard let intValue = self.intValue else { return }intValue += 3self.intValue = inValueif let reference = self.reference { // self.reference는 참조 타입이라서 원본이 전달된다. reference.setProperty(frog: "개구리") // self.reference = reference 하지 않아도 된다.}/..
5. 복습 A === B A와 B는 클래스의 인스턴스 A와 B가 같은 클래스 인스턴스를 가리키는지 불린 값을 나타냄 삼항 조건 연산자 let q = A > B ? "A가 큼" : "B가 큼" A > B가 참이면 'A가 큼'을 거짓이면 'B가 큼' 을 반환한다. 범위 연산자 A...B : A 부터 B까지의 수(A,B 포함) A..< B A 부터 B미만의 수 A를 포함하고 B를 포함하지 않음 A... A 이상의 수를 표현 A를 포함 ...A A 이하의 수 A 포함 ..
3. 데이터 타입 기본 데이터 타입 기본 스위프트에서 기본으로 제공하는 데이터의 타입 기본 데이터 타입이 모두 구조체를 기반으로 구현되어있다.(지금은 언급만 될 것이다. 나중에 강의에서 배울 것이다.) 타입이기 때문에 대문자 카멜케이스 사용 Int, UInt Int : +,0,- 부호를 포함한 정수 (+6,-5,-9) UInt : +,0 양의 정수 타입에 엄격하기 때문에 UInt는 잘 사용하지 않는다. Bool true, false Float, Double 부동 소수점을 사용하는 실수 부동소수점 실수를 컴퓨터상에서 근사하여 표현할 때 소수점의 위치를 고정하지 않고 그 위치를 나타내는 수를 따로 적는 것 실수는 2진수로 정확히 표현하지 못하는 경우가 생긴다. 그럴땐 가장 근사치의 값이 저장된다. 더 궁금하면 구글에 검색 ㄱㄱ 소..
2. 변수 변수 프로그램에 사용될 데이터를 저장하려면 어떻게 해야할까요? 제가 프로그램에 "나비"라는 문자를 저장하고 사용하고 싶다면 어떻게 해야할까요? 그럴때 사용하는 것이 변수 입니다. var butterfly = "나비" 프로그램에서 사용되는 데이터를 메모리에 임시로 저장하는 것입니다. 변하지 않을 값은 상수라고 부르며 let으로 선언합니다. let navi = "나비" 변수의 값을 바꿀 때는 [변수명] = [바뀐 값] 이렇게 var를 쓰지 않고 바꿔 줍니다. 다음 시간에 배울 것이지만 바뀔 값은 원래 값과 데이터 타입이 같아야합니다. 간단히 설명하자면 문자가 들어간 변수에 숫자를 넣으면 안된다는 것이죠 스위프트는 엄격한 타입 통제를 하고 있습니다. 타입별로 사용할 수 있는 함수(정의된 행동)가 다르기에 타입..
1. 스위프트 언어의 특성 스위프트가 갖는 프로그래밍 패러다임 프로그래밍 패러다임 이란? 프로그램을 설계하는 데 사용할 방법론 왜 알아야 하는가? 패러다임에 맞는 코드를 설계할 수 있다. 함수형 프로그래밍을 채택 했으므로 함수 내에서 프로퍼티를 변경할 수 없게 해야한다. 문제 해결을 어떻게 해결해 나갈 것인지 힌트를 얻을 수 있다. 동시성 - 함수형 프로그래밍 코드 재사용성 - 객체지향 프로그래밍 객체지향 프로그래밍 패러다임 명령형 프로그래밍 패러다임 : 컴퓨터 프로그램을 명령어의 목록으로 본다. 객체지향 프로그래밍 명령형 프로그래밍에 속한다. 컴퓨터 프로그램을 여러개의 독립된 단위인 객체의 모임으로 파악하고자하는 시각, 각각의 객체는 서로 메세지를 주고 받고 데이터를 처리할 수 있습니다. 특징 유연하고 쉽게 변경가능하여 대규모 ..