iOS

Swift - Open API 기반 앱 만들기
consraints가 Table View에도, Label에도 적용되어 있는 것을 볼 수 있다 (따로따로 적용된다) func getData(){ guard let url = URL(string: movieURL) else { return } print(url)}//함수 안에서는 보통 guard let을 사용한다 뒤의 클로저를 후행 클로저 형식으로 바꾸려면 Enter를 눌러 주면 된다. API를 Xcode에서 출력하기import UIKitlet movie = ["야당", "A MINECRAFT MOVIE 마인크래프트 무비", "썬더볼츠*", "거룩한 밤: 데몬 헌터스", "파과"]class ViewController: UIViewController, UITableViewDel..
Swift - enum, struct, extension
[enum - 열거형] 열거형은 처음에만 열거형 이름을 사용하고, 그 후부터는 이름은 생략하고 .부터 사용한다.enum Compass { case North case South case East case West}//enum Compass {// case North, case South, case East, case West//} 이렇게도 가능하다.//var x : Compass // Compass형 인스턴스 xprint(Compass.North) // Northvar x = Compass.Westprint(type(of:x)) // Compassx = .Eastprint(x) // East Swich ~ case 문으로 기능을 만들어 줄 수도 있다.enum Compass { case North ..

Swift - Optional Chaining, Throwing function, Generic, Array
옵셔널 체이닝이란? 옵셔널 값이 nil이 아니면 안전하게 해당 값에 접근하고, nil일 경우에는 아무것도 하지 않고 nil을 반환하는 것을 말한다.var x : String? = "Hi" // 옵셔널 타입 선언: 'String?'은 nil을 가질 수 있는 문자열 타입을 의미 // x는 초기값 "Hi"를 가지는 옵셔널 변수로 선언됨 print(x, x!) // 'x'는 옵셔널 타입이므로 출력 시 Optional("Hi") 형식으로 출력됨 // 'x!'는 강제 언래핑(Forced Unwrapping) 연산자로, x가 nil이 아니면 그 값을 안전하게 추출 // 'x!'를 ..

Swift - TableView
프로토콜은 채택하는 것이므로 상속과는 다르다.테이블뷰는 두 개의 프로토콜을 사용하는데, 데이터 소스에는 위아래로 두 개의 필수 메소드가 있고 Delegate는 필요하면 쓴다. 앱을 생성하고 라이브러리에서 Table View를 가져왔다. 처음에는 작은 사각형인데, 이를 깔끔하게 꽉 채우려면 오토레이아웃의 [핀 툴]을 이용하면 된다! 사방의 수치는 해당 방향에서 얼마나 떨어질 것인지를 설정하는 것이다. 그러므로 모두 0으로 한 후에 Constrain to margins 옵션을 해제해 주고 Add Constrains를 누르면 사진처럼 예쁘게 꽉 찬다. - 위, 아래의 빈 공간이 있는 이유는 Safe Area 때문이다. 보통은 가리지 않고 사용한다. ViewController에 table이라는 이름의 Outl..

Swift - 프로토콜
protocol Runnable { var x : Int {get set} //getter와 setter를 가질 수 있도록 정의해야 한다. //getter만 사용할 경우에는 {get}의 형태로 작성하면 된다.}protocol Runnable { var x : Int {get set} func run(){ //이런 형식으로 작성하면 오류가 발생한다. //프로토콜에 있는 함수는 body를 가지면 안 된다. (선언만 가능하다는 의미) }}class Man : Runnable { } //이런 식으로 작성하면 아래 사진과 같은 오류가 발생한다. 프로토콜은 보통 상속과 동시에 사용된다.protocol Animal { func makeSound() -> St..

Swift의 주요 문법 복습
Xcode에서 스토리보드로 새 프로젝트를 생성하였을 때 이와 같은 기본 파일들이 생성된다. 이 중에 swift 파일들을 자세히 알아보겠다. AppDelegate.swift 파일의 내용이며, 각 주요 문법들에 주석을 달았다.import UIKit // UIKit 프레임워크를 가져옴. iOS 앱 개발에 필요한 기본 UI 및 앱 관리 기능 제공@main // 이 클래스가 앱의 진입점임을 나타냄. 앱 실행 시 가장 먼저 실행되는 클래스 지정class AppDelegate: UIResponder, UIApplicationDelegate { // AppDelegate 클래스 정의. UIResponder를 상속받아 이벤트 처리 가능, UIApplicationDelegate 프로토콜 채택으로 앱 생명주기 관리 ..