아이폰 6s 플러스 기기로 UIResponder테스트를 하려 했으나 ,,, 화면이 나타나지 않는 문제가 발생했다. Xcode버전은 11.1 이였고 iOS deployment target은 iOS 12.2였다. Xcode의 디버그창에는 The app delegate must implement the window property if it wants to use a main storyboard file.이라고 나타낸다. 즉 메인 스토리 보드 파일을 사용하려면 앱 델리게이트가 window 프로퍼티를 구현해야 한다. 이전에는 Xcode에서 프로젝트가 생성될 경우 자동으로 AppDelegate에 window객체를 생성해주지만, iOS 13부터 SceneDelegate가 생성되면서 window 프로퍼티는 Scene..
Format Specifiers The format specifiers supprted by the NSString formatting methods and CFString formatting functions follow the IEEE printf speicification. %@ 오브젝티브씨 오브젝트a %d, %D 부호 있는 32비트 정수 %u, %U 양수의 32비트 정수 %x 양수의 32비트 정수, 숫자0-9와 소문자a-f를 사용한 16진수 출력 %X 양수의 32비트 정수, 숫자0-9와 대문자A-F를 사용한 16진수 출력 %o, %O 양수의 32비트 정수, 8진수 출력 %f 64비트 부동 소수점(double) %e 64비트 부동 소수점(double), e를 이용한 지수 출력 %E 64비트 부동 소..
CGFloat를 말하기전에 float과 double에 대해서 간단히 살펴봅시다. float is a single - precision, floating - point value type. 즉 실수타입의 단정밀도 32비트 부동 소수형입니다. double is a dobule - precision, floating - point value type 즉 실수타입의 배정밀도 64비트 부동 소수형입니다. CGFloat란 자동적으로 플랫폼에 따라 32비트는 float이 되고, 64비트에서는 double입니다. 말 그대로 float일수도 있고 double일수도 있고 이는 CPU 아키텍처에 따라 다릅니다. 개발문서를 살펴보면 float과 double에 대한 typedef가 CGFloat입니다. typedef doubl..
메소드는 클래스의 행위를 정의합니다. 어떤 특정 작업을 수행하기 위한 명령문의 집합이라고도 말할 수 있습니다. 오브젝티브씨에서는 두 가지 종류로 메소드가 구성되어 있습니다. 네. 클래스 메소드 그리고 인스턴스 메소드가 있습니다. 클래스 메소드는 + 기호를 사용하여 표시합니다. 인스턴스 메소드는 - 기호를 사용하여 표시합니다. 클래스 메소드는 따로 객체화 할 필요가 없지만 인스턴스 메소드는 객체를 만들어 줘야 합니다. 이것이 두 메소드의 차이점입니다. 그럼 메소드의 구문을 살펴보겠습니다. 먼저 인스턴스 메소드냐 클래스 메소드냐 구분을 해줘야 합니다. 두 번째로 리턴 타입이 없는 경우 생략 가능하지만 있다면 괄호에 리턴 타입을 명시해줘야 합니다. 다음으로는 메소드 이름을 작성해줍니다. 콜론 뒤 괄호와 함께 ..
먼저 클래스란 무엇일까요? 클래스는 데이터와 데이터를 다루는 행위를 정의하는 것입니다. 또한 객체 상태를 나타내는 필드와 객체 행동을 나타내는 메소드로 구성됩니다. 엥 갑자기 객체? 그럼 클래스는 뭐고 객체는 뭘까요? 클래스와 객체의 차이에 대해서 학교 다닐때 부터 많이 많이... 들었을 겁니다. 붕어빵 틀... 그리고 붕어빵 네 붕어빵 틀에서 붕어빵이 만들어지죠. 클래스에서 객체를 생성해냅니다. (객체를 만들어 내기 위한 설계도, 틀과 같은 개념을 클래스라고 합니다.) 간단하게 클래스와 객체에 대해서 파악했습니다. 그럼 옵젝씨에서 클래스는 어떻게 선언할까요? 새로운 파일을 먼저 만들어 줍시다. 클래스명은 Car으로 작성했습니다. NSObject의 서브클래스입니다. 언어는 당연히 옵젝씨. 그리고 다음 버..
먼저 오브젝티브-C란 무엇일까요? (오브젝티브씨 너무 길어서 줄여서 옵젝씨로 작성하겠습니다.) 옵젝씨는 1980년대에 C언어에 스몰토크 스타일의 메시지 구문을 추가한 객체 지향 언어입니다. 또한 OS X및 iOS용 소프트웨어를 작성할 때 사용하는 기본 프로그래밍 언어입니다. (애플의 코코아 프레임워크를 사용하기 위한 언어) 여기까지 대충 옵젝씨에 대해서 알아보았습니다. 그럼 프로젝트를 생성하고 만들어진 main.m파일을 다시 한번 봅니다. 이대로 실행버튼을 누르면 Hello World! 가 출력되는 걸 확인할 수 있습니다. 여기서 NSLog는 무엇일까요? NSLog란 디버그 영역의 콘솔에 정보를 출력하기 위한 것 입니다. NSLog(@”문자열 포맷", 인자) 이렇게 사용할 수 있습니다. 문자 말고 다른 ..
트러블 슈팅 까진 아니고... 언제부터인가 Welcome to Xcode화면을 보지 못했다. 내가 뭐 잘못 누른 건지 뭔지 모르겠는데 시작화면 있을 때가 편리했는데 :( 시작화면이 안뜨니 상단 탭에서 프로젝트 생성하고 세상 불편. (시작화면 = Welcome to Xcode화면) 시작화면을 띄우기 위해서는 Window탭에서 Welcome to Xcode를 눌러주면 된다. shift + command + 1 단축키로도 띄울 수 있다. 여기서 welcome to xcode를 눌러주면 아래와 같이 시작화면이 뜬다. 사실 여기서 최근에 한 프로젝트들이 오른쪽에 쭉 나오는데 이 기능을 가장 많이 사용했다. 또한 새로운 프로젝트 생성하기도 메뉴로 보여서 편리하게 사용했다. 엑스코드를 실행시킬 때마다 시작화면을 띄우..
첫 시작 먼저 오브젝티브 씨는 씨언어가 확장된 언어입니다. 씨언어를 대학교 1학년 때 배웠던 경험이 있어서 엄청 낯설지는 않네요. 먼저 프로젝트를 생성해줍니다. 연습을 목적으로 프로젝트를 생성하는 것이니 command line tool으로 생성해주겠습니다. 다음 프로젝트 이름을 작성해줍니다. 항상 언어를 스위프트로 작성했는데 오늘은 옵젝씨로 변경해줍니다. 프로젝트가 저장될 곳을 선택한 후 프로젝트 생성 완료. 가장 다른 점은 main.m이라는 파일이 있습니다. 스위프트에서도 프로젝트를 생성하면 main은 생성되는데 .m은 과연 무엇인지 알아보겠습니다. 아까 옵젝씨는 씨언어를 확장한 언어라고 했는데 main이 바로 그 진입 지점입니다. 파일의 구조의 첫 줄을 살펴봅시다. 이 부분은 헤더 파일을 읽는 부분입..
- Total
- Today
- Yesterday
- ios
- objc
- Xcode
- 알고리즘
- 스위프트UI
- leetcode
- string
- rxswift
- 애니메이션
- Algorithm
- 딥러닝
- Animation
- 책 후기
- swift5
- 독서
- 스위프트
- 책 추천
- ARC
- SWIFT
- stanford SwiftUI
- swiftUI
- 머신러닝
- 책
- iOS SwiftUI
- 문자열
- RX
- wwdc
- objective-c
- ReactiveX
- Deep learning
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |