
메소드는 클래스의 행위를 정의합니다. 어떤 특정 작업을 수행하기 위한 명령문의 집합이라고도 말할 수 있습니다. 오브젝티브씨에서는 두 가지 종류로 메소드가 구성되어 있습니다. 네. 클래스 메소드 그리고 인스턴스 메소드가 있습니다. 클래스 메소드는 + 기호를 사용하여 표시합니다. 인스턴스 메소드는 - 기호를 사용하여 표시합니다. 클래스 메소드는 따로 객체화 할 필요가 없지만 인스턴스 메소드는 객체를 만들어 줘야 합니다. 이것이 두 메소드의 차이점입니다. 그럼 메소드의 구문을 살펴보겠습니다. 먼저 인스턴스 메소드냐 클래스 메소드냐 구분을 해줘야 합니다. 두 번째로 리턴 타입이 없는 경우 생략 가능하지만 있다면 괄호에 리턴 타입을 명시해줘야 합니다. 다음으로는 메소드 이름을 작성해줍니다. 콜론 뒤 괄호와 함께 ..

먼저 오브젝티브-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이 바로 그 진입 지점입니다. 파일의 구조의 첫 줄을 살펴봅시다. 이 부분은 헤더 파일을 읽는 부분입..

문자열을 결합하는 방법은 문자열 보간을 사용하는 방법과 +를 사용해 문자열을 결합하는 방법이 있습니다. 먼저 문자열 보간은 문자열 안에 변수와 상수를 결합하는 것입니다. 사용하는 방법은 아래와 같이 \( ) 백 슬래시, 열린 괄호, 닫는 괄호를 사용합니다. var name = "Ellie" "My name is \(name)" 그리고 다른 방법으로는 +를 사용해 문자열을 결합하는 방법입니다. var name = "Ellie" "My name is " + name 위와 같이 문자열을 결합할 수 있지만 문자열 보간이 더 효율적인 상황이 있습니다. 바로 여러 변수를 함께 결합해서 사용하는 경우입니다. 스위프트의 문자열 보간은 다양한 데이터 타입을 자동으로 처리할 수 있습니다. var name = "Ellie"..

스위프트5에서 정수를 문자열로 변환하는 방법은 아래와 같습니다. 첫 번째 방법은 문자열 보간으로 \( )를 사용하는 방법과 두 번째 방법은 문자열 이니셜 라이저를 사용하는 방법이 있습니다. 위와 같은 방법으로 사용하면 문자열 그대로 사용 가능합니다. 하지만 반대의 경우는 다릅니다. 스위프트5에서 문자열을 정수로 변환하는 방법은 아래와 같습니다. 문자열 안에 정수가 숨겨져 있다면 정수 이니셜 라이저를 사용해 다음과 같이 둘 사이를 변환할 수 있습니다. 문자열 10은 당연히 숫자 10으로 변환 가능하지만 옵셔널을 리턴하는 것을 확인할 수 있습니다. 왜냐하면 문자열에 숫자가 아닌 것을 포함할 수 있기 때문입니다. 아래와 같이 ab를 정수로 변환하는 것을 불가능합니다. 그래서 정수 이니셜 라이저는 옵셔널 정수를..

UIViewPropertyAnimator UIViewPropertyAnimator는 iOS10에 소개된 클래스입니다. 이는 뷰의 변경 사항에 대해 애니메이션을 적용하고 해당 애니메이션을 동적으로 수정할 수 있는 클래스입니다. 또한 frame, center, alpha, transform를 사용해 인터렉티브 한 애니메이션을 가능하게 해 주며 타이밍을 제어할 수 있습니다. 예를 들어 뷰를 서서히 사라지게 하고 싶다면 애니메이션 블록에서 alpha 값을 1에서 0으로 변경해주면 됩니다. 애니메이션을 추가하고 싶다면 add 메서드를 사용하여 원래 애니메이션이 시작된 후 애니메이션 블록을 추가할 수도 있습니다. UIViewPropertyAnimator를 직접 사용해 봅니다. 아래 프로젝트는 슬라이더의 값에 따라 ..

iOS13으로 업데이트를 하고 엑스코드를 열었다. 가장 눈에 뛰었던 건 다크 모드였으며, 또 한 가지 눈에 띈 건 모달 프레젠트 되는 스타일이 변경된 것이다. 이전에는 화면을 full가득 덮었다면 이번에는 가득 덮지 않고 화면이 띄워졌다. 좀 더 살펴보자면 뷰 컨트롤러의 크기가 줄었고 이전 뷰가 뒤에 보이게 된다. 이전에는 fullscreen이었는데 iOS13부터 UIModalPresentationStyle의 디폴트 값이 automatic으로 변경되었다. 그래서 이게 이렇게 뜬 거구나.. 나는 이걸 원하지 않는다고! 이를 해결하기 위한 방법으로는 스토리 보드로는 프레젠테이션 스타일을 Full Screen으로 변경해준다. 이를 변경해주면 풀 스크린으로 모달이 뜬다. 코드로는 아래와 같이 변경할 수 있다. ..
- Total
- Today
- Yesterday
- 머신러닝
- 스위프트
- swift5
- RX
- 책 추천
- Algorithm
- iOS SwiftUI
- swiftUI
- Deep learning
- Xcode
- 스위프트UI
- leetcode
- 애니메이션
- ARC
- SWIFT
- objc
- stanford SwiftUI
- 알고리즘
- 문자열
- wwdc
- 책
- 독서
- 딥러닝
- ReactiveX
- ios
- string
- rxswift
- Animation
- objective-c
- 책 후기
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |