- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- trunc
- deeplearning
- tapply
- Python
- NVL
- delegate
- rxswift
- ios
- sigmoid
- Observable
- grep
- cocoapods
- scheduledTimer
- struct
- barplot
- r
- decode
- 명령어
- substr
- Optional
- Upper
- swiftUI
- SWIFT
- 연산자
- Linux
- SQL
- 딥러닝
- MVC
- ReLU
- 시각화
목록iOS (58)
iOS 개발 기록 블로그
API 란? 명령어, 함수, 프로토콜, 객체 등의 집합으로 많은 프로그래머들이 소프트웨어를 만들거나 외부 시스템과 상호작용하는 데에 사용할 수 있는 것이다. 많은 개발자들이 흔한 기능들을 동작하기 위한 표준 명령어를 제공하고 그들은 코드를 작성할 필요가 없다. API의 유형 소프트웨어를 만들기 위해 사용되는 API 외부 시스템과 상호작용하기 위해 사용되는 API 소프트웨어를 만들기 위해 사용되는 API 우리는 iOS 앱을 만들 때 이미 많은 API를 사용하고 있다. Apple Developer Documentation developer.apple.com 위 이미지처럼 오디오를 재생하기 위해 이미 애플 사에서 만들어 놓은 API를 그들이 제시해놓은 표준 명령어 흔히 사용하여 앱 제작을 한다. 외부 시스템과..
iOS의 중요한 디자인 패턴 중에 하나인 delegate 패턴에 관해 알아보자. 전에 게시했던 글 중에 MVC, Model View Controller 디자인 패턴에 관한 글이 있다. iOS(Swift) Design Pattern: MVC (Model View Controller) 1편 iOS App 프로그래밍에서 정말 정말 중요한 디자인 패턴 MVC를 알아보자. 우선 이 MVC나 MVVM 등 애플이 채택(?)한 디자인 패턴은 대부분의 채용에 필수요건으로 포함되어 있다. 그만큼 이것은 정말 중 crazydeer.tistory.com 그럼 Delegate와 같은 또다른 디자인 패턴이 왜 필요할까? 전에도 말했던 것처럼 디자인 패턴이란 흔한 문제들에 대한 증명된 해결방법이다. 여기서 '문제'라는 것은 무엇을..
지난 글에서 UITextFieldDelegate 라는 프로토콜이 있었다. 코드 class Bird { var isFemale= true func layEgg() { if isFemale{ print("Lay egg.") } } func fly() { print("Fly.") } } class Eagle: Bird{ func soar() { print("Soar.") } } class Penguin: Bird { func swim() { print("Swim.") } } let myEagle = Eagle() myEagle.fly() myEagle.layEgg() let myPenguin = Penguin() myPenguin.layEgg() myPenguin.swim() myPenguin.fly() 위 ..
생성 스토리보드에서 + 버튼을 눌러 Text Field를 생성하면 된다. 해당 UI를 클릭하면 오른쪽에 속성 인스펙터 창에서 위와 같이 볼 수 있다. Placeholder는 희미하게 보이는 회색 글자이다. Text Input Traits의 Capitalization 속성을 Words로 해주면 단어의 첫 글자가 대문자로 자동 입력된다. 마지막에 Return Key 속성은 키보드의 엔터키를 말한다. ViewController 스크립트에서 UITextField를 컨트롤+드래그앤드롭으로 IBOutlet을 생성하고 오른쪽에 돋보기 버튼을 같은 방법으로 IBAction을 만들어준다. 그리고 실행하면 직접 입력한 텍스트가 출력이 잘 된다. 그러나 다시 지우고 다른 단어를 입력한 뒤 출력해보면 동작하지 않는다. 이걸 ..
배경 이미지를 다크 모드에 따라 변경 낮에 적용할 이미지와 밤에 적용할 이미지 파일을 갖고 있다. 위 방법처럼 Color Set을 만들 필요는 없고 vector images와 PDF Image를 사용하여 해결할 수 있다. 아래와 같이 Assets.xcassets 파일에 background의 이미지 폴더로 간다. 이미지 파일을 열어서 확대해보면 아래와 같이 픽셀이 보인다. vector 이미지로 만들면 위와 같이 계단처럼 보이는 걸 없앨 수 있다. Assets.xcassets 파일에 기존의 이미지를 지운다. pdf 파일을 올리고 우측에 ‘Preserve Vector Data’라는 체크박스를 체크한다. 그리고 아래에 Scale을 Single로 바꾼다. Appearance를 Any, Light, Dark로 변경..
Dark Mode를 적용하는 방법을 알아보자. 아이콘을 아래와 같이 바꾸고 xcode 아래에서 appearance 버튼을 누르면 아래와 같이 다크 모드가 적용된다. 아래와 같이 틴트(컬러)를 커스텀으로 바꾸고 다크 모드를 하면 색이 바뀌지 않는다. 시스템 설정에 따라 다크모드가 적용되게 하려면 Tint를 'System Color' 또는 'Label' 색으로 해야 한다. Custom Color Dark Mode 그러면 Custom Color를 사용하고 다크 모드가 적용되게 하려면 어떡할까? 프로젝트 네비게이터 창에서 Assets.xcassets 파일을 선택해주고 아래에 + 버튼을 눌러 Color Set을 만들어준다. 그리고 우측에 Appearance를 Any, Light, Dark로 선택해준다. 그리고 다..
SF Symbols SF Symbols - Foundations - Human Interface Guidelines - Design - Apple Developer SF Symbols SF Symbols provides thousands of consistent, highly configurable symbols that integrate seamlessly with the San Francisco system font, automatically aligning with text in all weights and sizes. You can use a symbol to convey an object or concept developer.apple.com iOS 하시는 분들은 꼭 알고 가야 하는 HIG(Hu..
Optional을 이해하기 위한 5가지 단계 Force Unwrapping Check for nil value Optional Binding Nil Coalsecing Operator Optional Chaining OptionalsDemo라는새로운 프로젝트 생성 let myOptional: String? myOptional = "CrazyDeer" let text: String = myOptional 위와 같은 코드에서 세번째 줄이 에러가 나온다. text 변수는 String이지만 myOptional이라는 데이터 타입이 String?이기 때문이다. 이 Optional 데이터를 사용하기 위한 방법 5가지인 것이다. 간단한 방법이 이것이다. Force Unwrapping 변수 뒤에 ! 느낌표를 붙여주는 방..
Struct vs Class struct는 properties 값을 주지 않아도 된다. 그러나 class는 init을 해줘야 한다. 코드 class Enemy { // properties var health: Int var damage: Int init(health: Int, damage: Int) { self.health= health self.damage= damage } // functions (methods) func move() { print("Walk forwards.") } func attack() { print("Land a hit, does \(damage)damage.") } } 이렇게 init을 해주면 된다. 그럼 Enemy 클래스에 takeDamage라는 함수를 만들어보자. clas..
이번 글에서는 Swift 뿐만 아니라 다른 언어에서 너무나도 중요한 개념인 'Class'에 대해서 알아볼 것이다. 개념 Class는 아래 링크에서 알아봤던 Struct (Structure, 구조체)와 비슷하고 프로그래밍이 오랜 기간 성장해오면서 발달, 도태, 변화해온 결과물 중 하나이다. iOS(Swift) 구조체(struct) 사용 방법 Swift에서도 역시 구조체(struct)가 있고 그 사용 방법에 대해 알아보자. 개념 스위프트에서 데이터 타입은 Int, Float, String, Boolean, Array, Dictionary 등 여러 가지가 존재한다. 우리는 직접 개인화(커스터 crazydeer.tistory.com 구조체는 Property나 Method들이 담겨 있는 설계도면과 같다고 설명했다..