목록2 - 겨울방학 (14)
브래의 슬기로운 코딩 생활
Swift언어란? Swift는 Apple이 iOS 애플리케이션을 개발하기 위해 도입한 프로그래밍 언어입니다. 모듈화란? 모듈화는 프로그램을 여러 개의 독립적인 부분으로 나누는 것을 말합니다. CI/CD란? CI/CD (Continuous Integration/Continuous Delivery)는 애플리케이션 개발 단계를 자동화하여 애플리케이션을 더욱 짧은 주기로 고객에게 제공하는 방법입니다. 테스트 자동화란? 테스트 자동화는 소프트웨어의 품질을 향상시키기 위해 테스트를 자동으로 수행하는 프로세스 입니다. 함수형 프로그래밍이란? 함수형 프로그래밍은 불변성과 순수 함수를 중시하여 부작용을 최소화하고 코드의 간결성과 안정성을 추구하는 프로그래밍 패러다임입니다. 리액티브 프로그래밍이란? 리액티브 프로그래밍은 ..
화면 전환 방식 - 1 : present 방식 ViewController가 다른 ViewController 호출(present) 다른 ViewController를 Modal로 띄움 UIViewController에 정의된 present 메소드를 사용 돌아올 때 - presentingViewController?.dismiss(animated:) full screen으로 화면 띄우기 - vc.modalPresentationStyle = .fullScreen 뷰 컨트롤러 추가 뷰 컨트롤러 선택 - 아이덴티티 인스펙터 - 스토리보드 아이디 설정(코드에서 쓸) 메인 뷰에 클릭하면 화면 이동이 될 버튼 추가 어시스턴트 에디터 - 버튼을 컨트롤 키를 누르며 소스코드의 클래스로 드래그 하여 액션 함수 추가 위와같이 소스..
Autolayout (오토 레이아웃 이란?) 오토 레이아웃(Auto Layout)은 제약 조건(Constraints)을 이용해서 뷰의 위치를 지정하는 것. 다시 말하면, 두 뷰 사이의 관계를 제약 조건이라는 것을 이용해서 뷰의 크기와 위치를 지정하는 것. 오토 레이아웃은 여러 해상도를 지원하기 위해 만들어 졌다. 아이폰의 크기가 다양해지면서 해상도도 달라졌는데, 다른 크기에서도 같은 화면을 보여주기 위해 오토 레이아웃을 사용한다. 세로 보기 화면뿐만 아니라 가로 보기 화면까지도 지원한다. 위의 이미지를 보면 아이폰SE와 아이폰8, 아이폰8 Plus 기종이 달라도 보여지는 화면이 똑같다는 것을 볼 수 있다. 위의 이미지와 같이 오토 레이아웃은 제약 조건(Constraints)을 이용하여 자동으로 해상도에 ..
앱 개발 기술 분류 native - 안드로이드: JAVA, Kotlin - iOS: Swift, Objective-C cross platform - React native - Flutter - Web View를 감싸고 있는 웹사이트 - HTML+CSS+JS - Apache Cordova Xcode로 Swift문법 공부하기 Playground로 Swift문법 공부하기 Playground로 Swift문법과 UI테스트 폰트 조절: [Xcode]-[Preferences]-[Themes] 새로운 앱 만들기: [File]-[New]-[Project]-[iOS]-[App] 프로젝트 기본 설정 같은 이름의 프로젝트가 이미 있다면 폴더 변경하거나 이름 변경 프로젝트 생성 후 Xcode 초기 화면 Deployment Ta..
옵셔널 체이닝 (Optional Chaining) 옵셔널 체이닝 (Optional Chaining) 옵셔널로 선언된 변수의 맴버에 안전하게 접근하기 위한 방법 (?) Optional Chaining 예 class Person { var name: String var age: Int init(name: String, age: Int) { self.name = name self.age = age } } let kim: Person = Person(name: "Kim", age: 20 ) print(kim.age) let han: Person? = Person(name: "Han", age: 25 ) print(han.age) //print(han!.age) // print(han?.age) //Optiona..
Human Interface Guidelines https://developer.apple.com/design/human-interface-guidelines/components/all-components https://developer.apple.com/design/human-interface-guidelines/ extension(익스텐션) extension https://docs.swift.org/swift-book/LanguageGuide/Extensions.html - class, struct, enum, protocol에 새로운 기능을 추가 - extension은 하위 클래스를 생성하거나 참조하지 않고 기존 클래스에 메서드, 생성자(initializer), 계산 프로퍼티 등의 기능을 추가하기 ..
클래스 vs. 객체 vs. 인스턴스 객체 인스턴스 인스턴스(instance) 실제로 메모리에 할당된 객체(object) 소프트웨어 애플리케이션을 개발하는 데 사용되는, 쉽게 사용할 수 있으며 재사용할 수 있는 기능을 가진 모듈 객체의 구성 - 데이터 변수(data variable) or 속성(property) - 함수 or 메서드(method) 클래스란? 청사진이나 설계도가 건물이 완성된 후의 모습을 나타내고 있는 것처럼 클래스(class)는 객체가 생성되었을 때 어떠한 모습을 보일 것인지를 정의 - int x; - Student han; //C++ - 클래스 인스턴스; Swift 클래스 선언하기 클래스의 기본 구조는 다음과 같다. class 새로운 클래스 이름 : 부모 클래스 { // 프로퍼티 // 인..
first class object : (1)함수를 변수에 저장 가능 Swift는 함수를 데이터 타입처럼 처리할 수 있음 다음과 같이 함수를 상수 또는 변수에 할당하는 것이 가능 func inchesToFeet (inches: Float) -> Float { return inches * 0.0833333 } let toFeet = inchesToFeet //함수를 자료형처럼 사용 함수를 호출하려면 원래의 함수 이름 대신에 상수 이름을 이용하여 호출 가능 print(inchesToFeet(inches:10)) print(toFeet(10)) //주의 : 매개변수명(inches:) 안씀 first class object : (2) 함수를 매개변수로 사용 func inchesToFeet (inches: Floa..
함수 특정 작업을 수행하는 코드 블록 수행하기 위하여 데이터가 제공될 수 있으며, 함수를 호출한 코드에 작업한 결과를 반환할 수도 있음 매개변수(parameter,인자)와 인수(argument)는 차이점이 있음 함수 정의부의 값을 매개변수, 호출시의 값은 아규먼트라고 부름 #include void Fun( int Param ) // parameter(매개변수, 인자), 형식 매개변수(formal parameter) { printf("%d",Param); } int main() { Fun( 10 ); // 10은 argument(인수), 실 매개변수(actual parameter) return 0; } 매개변수 인자 리턴값 메서드(method) 특정 클래스, 구조체, 열거형 내의 함수 함수를 스위프트 클래..
guard문(조건식이 거짓이면 실행) guard문은 swift 2에 도입된 구문 guard문은 표현식이 거짓(false)으로 판단될 경우에 수행될 else 절을 반드시 포함해야 함 - else 절에 속한 코드는 현재의 코드 흐름을 빠져 나갈 수 있는 구문(return, break, continue, throw 구문)을 반드시 포함해야 함 - 또는 다른 함수를 else 코드 블록 안에서 호출할 수도 있음 guard else { // 표현식이 거짓일 경우에 실행될 코드 } // 표현식이 참일 경우에 실행되는 코드는 이곳에 위치 guard문은 기본적으로 특정 조건에 맞지 않을 경우에 현재의 함수나 반복문에서 빠져 나갈 수 있도록 하는 ‘조기 출구(early exit)’ 전략을 제공 guard~let의 활용 g..