STUDY/Swift 17

resizeAspectFill, resizeAspect, resize, resizeAspect

요약: Aspect 라는 표현이 들어가면, 종횡비를 유지한다는 말이다. resizeAspectFill The video preserves its aspect ratio and fills the layer’s bounds. Discussion This gravity value may crop the video image along its horizontal or vertical dimension. 비디오는 종횡비를 유지하고 레이어의 경계를 채웁니다. 논의 이 중력 값은 수평 또는 수직 치수를 따라 비디오 이미지를 자를 수 있습니다. --- resizeAspect The video preserves its aspect ratio and fits it within the layer’s bounds. 비디오는 ..

STUDY/Swift 2022.01.19

codesign: Apple Development: Key Chain Error.

위와 같은 오류가 떴다. 기본적으로 키체인은 맥북을 키고, 계정 로그인할 때 쓰는 암호를 사용한다. 필자의 경우에는 원래 사용하는 암호를 입력해도 되지 않아서 아래와 같은 방법을 사용했다. (혹시 올바른 암호를 입력할 수 있는 사람이라면, 하단에 '항상 허용'이라는 버튼이 있을 텐데, 그걸 누르면 해결된다고 한다.) 필자의 경우에는 이것 저것을 다 때려넣어도 안될 때에는 삭제를 해보래서 삭제를 해본 것. '키체인 접근(Keychain Access) 프로그램을 실행 후, Apple Development에 해당하는 녀석들을 지워버렸다. 잘 된다.

STUDY/Swift 2020.12.04

swift 4.2 1~2일차 Action-Target / Gesture Recognizer

11/16 야곰 2강 인터페이스 빌더와 레이아웃UIKit (User Interface Kit): iOS 또는 tvOS의 사용자 인터페이스 구성을 위한 프레임워크. Foundation과 더불어 iOS의 큰 기능을 이루는 뼈대Auto LayoutHuman Interface Guidelines for iOSView Programming Guide 야곰 3강 업다운 게임IBOutlet, IBAction, Gesture Recognizer a user interface file is a type of macOS file (a file with .storyboard or .xib filename extenstion that contains the source for the user interface of an ap..

STUDY/Swift 2018.11.17

뷰의 content hugging priority, content compression resistance priority

뷰의 content hugging priority 컨텐트 크기 유지 우선순위 [뷰가 커져서 뷰를 채우고 있던 레이블들의 크기가 커져야 한다면? 누가 커질 것인가? 에 대한 것.]-> 고무밴드의 강도라고 생각하면 좋다. content hugging priority 값이 클 수록 고무밴드의 강도가 강해서 현재 크기[고유 크기]를 유지하려는 습성이 커진다.Horizontal 수평 컨텐트 크기 우선순위Vertical 수직 컨텐트 크기 우선순위 content compression resistance priority 컨텐트 축소 방지 우선순위 [뷰가 작아져서 뷰를 채우고 있던 레이블들의 크기가 작아져야 한다면? 누가 잘려져 나가야 하는가? 에 대한 것.]-> 저항력이다. content compression resi..

STUDY/Swift 2018.07.04

Swift 함수의 가변 매개변수, 입출력 매개변수

가변 매개변수: 매개변수로 몇 개의 값이 들어올지 모를 때! import UIKit // 가변 매개변수를 가지는 함수의 정의와 사용func sayHelloToFriends(me: String, friends names: String...) -> String { let hello = "Hello! " var result = "" for friend in names { result += friend + ", " } return hello + result + "I'm \(me)"} print(sayHelloToFriends(me: "JB", friends: "CS", "SJ", "NJ", "SH", "YS")) // 가변 매개변수기 때문에 없어도 문제가 없다. print(sayHelloToFriends(me:..

STUDY/Swift 2018.06.29

Swift 함수의 일급 객체 조건

함수의 일급 객체 First-class Citizen 조건, 전부를 충족해야 한다. 전달인자[Argument]로 전달할 수 있다. 동적 프로퍼티 할당이 가능하다. 변수나 데이터 구조 안에 담을 수 있다. 반환 값으로 사용할 수 있다. 할당할 떄 사용된 이름과 관계없이 고유한 객체로 구별할 수 있다 * 참고 func hello(name: String) -> String { return “Hello \(name)!” } let helloToJB: String = hello(name: “JB”) Note_매개변수[Parameter]와 전달인자[Argument]: 매개변수는 전달 값의 이름, 전달인자는 전달하는 값이다. 위의 hello(:)를 예로 들자면, 매개변수는 name이고, 전달인자는 “JB”이다.

STUDY/Swift 2018.06.29

Swift 함수형 프로그래밍 패러다임과 그 장점

import UIKit // 명령형 프로그래밍 패러다임 VS 함수형 프로그래밍과 패러다임 func doSomething() { print("do something") } func doAnotherThing() { print("do another thing") } // 명령형 프로그래밍 패러다임func excuteAll() { doSomething() doAnotherThing()}excuteAll() // 함수형 프로그래밍 패러다임func excute(tasks: [()-> Void]) { for task in tasks { task() }}excute(tasks: [doSomething, doAnotherThing]) // *함수를 전달인자로 사용한다 ////////////////////////////..

STUDY/Swift 2018.06.29

Swift 비교 연산자

// 스위프트의 유일한 참조(Reference) 타입인 클래스의 인스턴스에서만 참조비교 연산자를 사용할 수 있다. // (물론 프로그래머가 다른 데이터 타입에서 === 등의 연산자를 정의하면 다른 용도로 사용 가능하다.) // 스위프트의 기본 데이터 타입은 모두 구조체로 구현되어 있기 때문에 값 타입이다. // 값의 비교 연산에는 ==을 사용하고[구조체의 인스턴스], 참조 타입인 경우에만 ===을 사용한다[클래스의 인스턴스]. class Person { var height: Float = 0.0 var weight: Float = 0.0 } let valueA = 3 let valueB = 5 let valueC = 5 let isSameValueAB: Bool = valueA == valueB // f..

STUDY/Swift 2018.06.29