SWIFT91 [Udemy] 섹션7: Play Sound 및 Bundle - 실로폰 만들기 목차 목표 : Apple 공식 문서와 stack overflow를 활용해서 AVAudioPlayer를 활용 https://github.com/appbrewery/Xylophone-iOS13 GitHub - appbrewery/Xylophone-iOS13: Learn to Code While Building Apps - The Complete iOS Development Bootcamp Learn to Code While Building Apps - The Complete iOS Development Bootcamp - GitHub - appbrewery/Xylophone-iOS13: Learn to Code While Building Apps - The Complete iOS Development Boo.. SWIFT/Udemy iOS 2021. 7. 30. [Udemy] 섹션6: Auto Layout and Responsive UIs (오토레이아웃, 반응형 UI) 목차 Auto Layout 오토 레이아웃 사용법 main stroyboard에서 앱 화면을 구성하고 난 후, 아이폰 8 또는 아이폰 미니 등으로 기기를 변경해보면 각 화면마다 디자인이 다르게 설정된 것을 알 수 있다. 이것을 해결하기 위한 방법이 오토 레이아웃임! 오토 레아 아웃을 사용하기 위해서는 Constraints를 활용해야 한다. Add New Constraints의 선이 빨간색이 되도록 선택 -> 하단 Add 4 Constraints 클릭 가로모드 시 배경화면이 잘리는 현상을 오토 레이아웃을 통해 해결해볼까 한다. View Controller Scene Background 선택 -> Add New Constraints의 선이 빨간색이 되도록 선택 -> 하단 Add 4 Constraints 클릭 .. SWIFT/Udemy iOS 2021. 7. 30. [Udemy] 섹션 4: Swift 프로그래밍 - IBOutlet, IBAction 목차 Open source List github : dkhamsing medium : mybridge Image Content Mode - Aspect Fit : 화면비 유지 - Scale To Fill : 위아래로 이미지 늘리기 - Aspect Fill : 화면비 유지하면서 확대 How to connect viewcontroller main.storyboard와 ViewController를 연결 할때 사용하는 것이 IBOutlet 이다. @IBOutlet weak var diceImageView1: UIImageView! @IBOutlet weak var diceImageView2: UIImageView! Attribute Inspector 를 사용하지 않고 코드를 사용하여 뷰 변경 하려면 아래와 같은.. SWIFT/Udemy iOS 2021. 7. 29. [Udemy] 섹션 2: Xcode 스토리보드 및 인터페이스 빌더 목차 iOS 프로젝트 생성 - Product Name : I Am Rich - Team : None(실제 기기에 런치할 때 필요함) - Organization Identifier : com.seon - Bundle Identifier : com.seon.I-Am-Rich (web site address) - Interface : Storyboard - Life Cycle : UIKit App Delegate - Language : Swift XCode - ⌘ + ⇧ + Y: 디버깅 - ⌘ + + , - : 폰트 사이즈 조절 - ⌘ + R : 시뮬레이터 실행 iPhone resolutions 아이폰의 화면에 많은 픽셀을 넣게 되면서, 아이폰 화면이 실제 픽셀을 나타내는 것이 아니게 되고 그래서 포인트라는 .. SWIFT/Udemy iOS 2021. 7. 29. Swift : 기초문법 [ 함수 / 매개변수 / 메서드 ] 본 게시글은 yagom님의 Swift 프로그래밍 3판을 참고하여 작성되었습니다. 목차 함수 함수는 특정 작업을 수행하는 '코드 조각'입니다. '독립된 기능'을 수행하는 단위인 것이죠. 함수 안에는 메서드를 포함하고 있습니다. 함수와 메서드는 기본적으로 같습니다. 그저 상황이나 위치에 따라 다른 용어로 부르는 것뿐이죠. 구조체, 클래스, 열거형 등 특정 타입에 연관되어 사용하는 함수를 메서드, 모듈 전체에서 전역적으로 사용할 수 있는 함수를 그냥 함수라고 부릅니다. 즉, 함수가 위치하거나 사용되는 범위 등에 따라 호칭이 달라지는 것뿐이지 함수 라는것 자체에는 변함이 없습니다. 함수의 정의 및 호출 앞서 말했다시피 함수와 메서드는 정의하는 위치와 호출되는 범위만 다를뿐, 정의하는 키워드와 구현 방법은 같습니.. SWIFT/Grammar 2021. 7. 9. Swift : 기초문법 [Character / String / Any, AnyObject / nil] 본 게시글은 yagom님의 Swift 프로그래밍 3판을 참고하여 작성되었습니다. Character Character는 '문자'를 의미합니다. 단어, 문장처럼 문자의 집단이 아닌 단 하나의 문자를 의미하죠. Swift는 유니코드 9 문자를 사용하므로 영어, 한국어, 이모티콘 등 유니코드에서 지원하는 모든 언어 및 특수기호를 사용할 수 있습니다. 문자를 표현하기 위해서는 값의 앞 뒤에 큰 따옴표를 사용하여 표현합니다. 아래 예문은 이모티콘과 한글을 사용한 것인데, 실제로 앱을 개발할때 이모티콘과 한글을 변수로 정하는 방식은 사용하지 않습니다. let alphabetA: Character = "A" print(alphabetA) // A let love: Character = "🥰" print(love) //.. SWIFT/Grammar 2021. 7. 1. Swift : 기초문법 [Typealias 타입 별칭] typealias 에 대해 알아보도록 합시다. Typealias Swift에서 기본으로 제공하는 데이터 타입이든, 사용자가 임의로 만든 데이터 타입이든 이미 존재하는 데이터 타입에 임의로 다른 이름을 부여할 수 있습니다. 즉, 기존에 선언되어있는 유형에 새로운 유형의 별칭을 사용해 코드를 읽고 이해하기 쉽도록 명확하게 만드는 문법입니다. Swift, SwiftUI에서는 이를 세 가지 유형으로 나누어 사용합니다. 1. 내장 유형 [ String ] , [ Int ] , [ Float ] ... 2. 사용자 정의 유형 [ class ] , [ struct ] , [ enum ] ... 3. 복합 유형 [ closuer ] typealias MyName = String typealias YourName = S.. SWIFT/Grammar 2021. 6. 9. Swift : 기초문법 [DispatchQueue란?] (GCD : Grand Central Dispatch) GCD 에 대해 알아보도록 합시다. DispatchQueue DispatchQueue는 작업 항목의 실행을 관리하는 클래스입니다. DispatchQueue는 장점은 일반 Thread 보다 쉽고 효율적으로 코드를 작성할 수 있습니다. 보통 서버에서 데이터를 받고 이미지 동영상을 외부에서 다운로드 및 처리할 때 CPU 사용량이 많아 처리를 Main Thread가 아닌 별도의 Thread에서 처리한 뒤 Main Thread로 결과만을 전달하여 화면에 표시하도록 하여 CPU를 관리할 수 있습니다. DispatchQueue의 종류 : Seral / Concurrent Seral 이전 작업이 끝나면 다음 작업을 순차적으로 실행하는 직렬 형태의 Queue. 하나의 자겁을 실행하고 그 실행이 끝날 때까지 대기열에 있는.. SWIFT/Grammar 2021. 6. 1. Swift : 기초문법 [CGSize와 CGRect의 차이점과 CGPoint] CGSize와 CGRect 둘 다 직사각형을 나타내는 데 사용할 수 있기 때문에 이름이 헷갈릴 수 있습니다. 우선 CGPoint 부터 알아보도록 하겠습니다. CGPoint 정의 : 2차원 좌표계의 점 을 포함하는 구조체. 간단하게 생각하면 X축 Y축 처럼 (1, 2) 이런 식으로 점을 찍는 것입니다. 예를 들어 1은 X좌표 2는 Y좌표를 나타냅니다. iOS에서는 이것을 CGPoint라고 합니다. CGPoint가 어떻게 구현되는지 아래에서 확인해보겠습니다. Public struct CGPoint { public var x: CGFloat public var y: CGFloat public init() public init(x: CGFloat, y: CGFloat) } CGSize 정의 : 너비와 높이 값 .. SWIFT/Grammar 2021. 4. 4. Swift : 기초문법 [Unwrapping with guard] 언래핑에 대한 기초적인 내용을 확인하시려면 여기를 클릭해주세요. Unwrapping guard let guard 문은 뭔가를 검사하여 그 다음에 오는 코드들을 실행할지 말지 결정 하는 것 입니다. guard 문에 주어진 조건문이 거짓일 때, 여기에 달려 있는 코드블럭이 실행됩니다. 조건식에 이 함수가 수행하는데 필요한 조건을 그대로 나타낸다는 점에서 if문에서 부정적인 조건식으로 표현하는것보다 가독성이 높은 장점 있습니다. if 문과 다르게 else 를 항상 달아야 합니다. 아래 함수는 nil 입력을 가드한다는 뜻이고, 만일 입력이 nil이면 guard문은 else절을 수행하고 다른 구문이 수행되기 전에 함수를 return 합니다. func guardInFunc (string: String?) { gua.. SWIFT/Grammar 2021. 3. 2. Swift : 기초문법 [클래스 - Class] Class swift에서는 객체라는 용어 대신에 인스턴스 라는 용어를 사용합니다. 한마디로 클래스 타입의 인스턴스를 객체라고 칭하지 않습니다. 단일 상속만 가능합니다. (인스턴스/타입) 메서드, (인스턴스/타입) 프로퍼티 (Struct와 같음) 참조타입(=reference type) (리퍼런스reference 라고 부름) iOS 프레임워크의 대부분이 클래스로 구성되어있습니다. SwiftUI에서는 대부분잉 Struct로 구성되어있습니다. class 는 프로퍼티와 메서드를 사용하여 새로운 유형을 생성할 수 있다는 점에서 구조체와 유사하지만, 중요한 차이점이 있으며 각 차이점을 하나씩 살펴보겠습니다. 클래스 정의 키워드 class class 클래스 이름 { // 프로퍼티와 메서드 } sturct 구조와 비슷하.. SWIFT/Grammar 2021. 3. 1. Swift : 기초문법 [프로퍼티 #4-1 Static] Static static 프로퍼티 및 메서드의 일반적인 용도 중 하나는 전체 앱에서 사용하는 일반적인 기능을 저장하는 것입니다. static은 struct, enum에서 선언할 때 사용하고, class은 클래스나 프로토콜에서 사용합니다. 예를 들어, 폴은 Swift를 배우는 사람들을 위한 무료 iOS 앱인 Unwrap이라는 앱을 만듭니다. 이 앱에서 App Store의 앱 URL과 같은 몇 가지 일반적인 정보를 저장하여 앱이 필요한 곳이면 어디에서나 참조할 수 있습니다. 그래서 내 데이터를 저장하는 다음과 같은 코드가 있습니다. struct Unwrap { static let appURL = "https://itunes.apple.com/app/id1440611372" } 이렇게 해야 Unwrap.app.. SWIFT/Grammar 2021. 3. 1. Swift : 기초문법 [기본 연산자] 본 게시글은 yagom님의 Swift 프로그래밍 3판을 참고하여 작성되었습니다. 목차 Swift의 연산자는 특정한 문자로 표현한 함수라고 할 수 있습니다. 연산자에 의해 연산되는 값의 수에 따라 단항, 이항, 삼항 등으로 구분하기도 하며, 연산자의 위치에 따라 전위, 중위, 호위 등으로 구분하기도 합니다. 연산자의 분류 분류 설명 예시 단항 연산자 피연산자가 한 개인 연산자 !A 이항 연산자 피연산자가 두 개인 연산자 A + B 삼항 연산자 피연산자가 세 개인 연산자 A ? B : C 전위 연산자 연산자가 피연산자 앞에 위치하는 연산자 !A 중위 연산자 연산자가 피연산자 사이에 위치하는 연산자 A + B 후위 연산자 연산자가 피연산자 뒤에 위치하는 연산자 A! TIP 띄어쓰기와 연산자 Swift에서 띄어.. SWIFT/Grammar 2021. 3. 1. swift : 기초문법 [ 프로퍼티 #1-1 지연 저장 프로퍼티(Lazy)] 본 게시물은 Hacking with swift , 군옥수수님의 게시글을 참고하여 작성되었습니다. Lazy properties Swift에서 메모리는 굉장히 예민한 주제인 것을 알 수 있습니다. 그런 예민함이 보다 메모리를 효율적으로 관리할 수 있는 방향으로 이어졌습니다. 이번에는 메모리와 관련된 문법 중 하나인lazy에 대해 알아보도록 하겠습니다. 애플 공식 문서 "A lazy stored property is a property whose initial value is not calculated until the first time it is used" "lazy변수는 처음 사용되기 전까지는 연산이 되지 않는다." 인스타그램을 예로 들어보자면, 인스타그램을 실행시키면 가장 상단에 본인의 팔로워들의 아이.. SWIFT/Grammar 2021. 3. 1. Swift : 기초문법 [Array의 프로퍼티 및 메서드] Array의 프로퍼티 및 메서드 Array 또한 Struct 이기 때문에 배열을 쿼리하고 조작하는 데 사용할 수 있는 자체 메서드와 프로퍼티가 있습니다. var toys = ["우디"] 1. Count count 프로퍼티를 사용하여 배열의 항목 수를 읽을 수 있습니다 . print(toys.count) var toys = [String]() if toys.count == 0 { print("아무것도 들어있지 않습니다.") } //아무것도 들어있지 않습니다. 2. append( ) append() 를 사용하여 새로운 항목을 추가할 수 있습니다. toys.append("버즈") 3. remove( ) 반대로 remove() 를 사용하여 항목을 제거할 수 있습니다. 배열은 0부터 카운트를 하기 때문에 1 인 .. SWIFT/Grammar 2021. 2. 28. 이전 1 2 3 4 5 6 7 다음 한국어 (기본) English Русский 日本語 👉🏻 잠깐만요! 이 글도 한 번 보고 가세요 이전글 다음글 티스토리툴바 서근 개발노트구독하기