iOS/Swift이론 23

[iOS]Swift 반복문 : for-in, while, repeat-while

for-in while repeat-while for for 루프상수(i) in 순회대상(range) { //실행할 구문 } 코드블록에 작성된 코드가 루프상수와 순회대상에 따라서 반복 실행이 된다. //예시 for i in 1...3 { print(i) //결과 : 1 2 3 } //배열을 활용 let array = [1,9,40,2] for i in array { print(i) //결과 : 1 9 40 2 } let arrayString = ["일","이"] for i in arrayString { print(i) //결과 : 일 이 } for문에는 where을 사용하여 조건을 추가할 수 있다. - where문이 참일 경우에만 for문이 돌아간다. 이를 활용하여 1~10까지 짝수만 출력되도록 코드를 ..

iOS/Swift이론 2022.03.03

[iOS]Swift 개념! Optional이란?

한 학기 동안 스위프트 문법 공부 및 iOS 앱 만들기 실습을 하며 옵셔널을 많이 사용했다. 하지만 그럼에도 불구하고 아직까지 제대로 이해하지 못 했다고 판단해 다시 정리해보기로 했다. 스위프트에서는 안전한 코딩을 위해 옵셔널이 중요한 역할을 한다고 한다. 옵셔널 타입은 변수 또는 상수에 아무런 값이 할당되지 않는 상황을 안전하게 처리하기 위한 방법을 제공한다. You use optionals in situations where a value may be absent. An optional represents two possibilities: Either there is a value, and you can unwrap the optional to access that value, or there isn..

iOS/Swift이론 2022.01.06

Swift)iOS프로그래밍 : 가감승제 함수, print format 소수점

func sss(x : Int, y : Int) -> (sum : Int, sub : Int, div : Double, rem : Int, mul : Double) { let sum = x+y let sub = x-y let div = Double(x) / Double(y) //같은 자료형만 연산 가능 let rem = x % y let mul = Double(x) * Double(y) return (sum, sub, div, rem, mul) } var result = sss(x:10,y:3) print(result.sum) print(result.sub) print(String(format: "%.3f", result.div)) print(result.rem) print(result.mul) //과제..

iOS/Swift이론 2021.10.22

Swift) iOS프로그래밍 : 문법정리

옵셔널 (Swift 문법 중 가장 어렵고 중요!! 필수!!!) - nil도 저장할 수 있는 옵셔널 타입 무조건 !로 풀면 안됨. nil이 아닐때만!! - 그리 좋은 방법은 아니다. -> 더 좋은 방법 : optional binding if let constantname = optionalName{ //옵셔널 변수가 값이 있다면 언래핑해서 일반 상수 constantname에 대입하고 if문 실행 //값이 없다면 if문의 조건이 거짓이 되어 if문 실행 x } if let variablename = optionalName{ //옵셔널 변수가 값이 있다면 언래핑해서 일반 상수 variablename에 대입하고 if문 실행 //값이 없다면 if문의 조건이 거짓이 되어 if문 실행 x } 콤마는 and의 의미를 ..

iOS/Swift이론 2021.10.17

Swift)iOS프로그래밍 : extension, access modifier, enum

extension : class, struct, enum, protocol에 새 기능 추가 하위 클래스 생성 or 참조하지 않고 기존 클래스에 메서드, initializer, 계산 프로퍼티 등 기능 추가 extension 기존타입이름 { //새 기능 } extension Double { var double : Double { return self + self } var cubed : Double { return self * self * self } } let myNumber : Double = 2.5 print(myNumber.Double) //5.0 print(1.3.Double) //2.6 print(3.0.Cubed) //27.0 Swift 접근제어 access modifier(or access s..

iOS/Swift이론 2021.10.15

swift)iOS 프로그래밍 : 클래스 상속(override)과 오버로딩

superclass - 부모 클래스 subclass - 자식클래스 * 단일 상속 : 자식클래스는 하나의 부모 클래스만 상속받을 수 있다. * 콜론 다음 뭔가 여러 개 있다면 나머지는 채택(adopt)된 프로토콜이다. class 자식:부모 { } class 클래스명:부모명, 프로토콜명1, 프로토콜명2, .... { } import Foundation class Dog{ var age : Int var height : Double func display(){ print("나이=\(age), 키=\(height)") } init(age: Int, height: Double){ self.age = age self.height = height } } class Puppy : Dog { var name : Stri..

iOS/Swift이론 2021.10.08

Swift) iOS 프로그래밍 : 클래스메서드, init(), 프로퍼티, 메서드 중첩,

클래스 프로퍼티는 초기값을 주거나, init으로 초기화하거나, 옵셔널 변수(상수)로 선언(자동 nil 초기화)해야한다. -> stored property(저장 프로퍼티) (자바,C#에서 필드라고 하는 것) -> 즉 스토어드 프로퍼티는 초기화가 되어있어야 한다. 옵셔널 변수 선언 -> 자료형 다음에 ! 혹은 ? 붙이기 https://yejprogramming.tistory.com/4 class Dog{ var age : Int = 5 var weight : Double = 3.5 func display(){ print("나이=\(age), 몸무게=\(weight)") } } var nala : Dog = Dog() // Dog()라는 함수를 호출하는 것은 눈에 보이지 않는 // default initial..

iOS/Swift이론 2021.10.07

Swift) iOS 프로그래밍 함수, 1급객체, 클로저, 클래스

함수 함수의 타입 (자료형, 자료형, ...) -> 리턴형(Int, Int, ...) -> Int => 리턴형이 Void형이면 () 함수의 자료형 출력 print(type(of:함수몀)) func sum(num1 x: Int, sum2 y: Int) -> Int { return(x+y) //함수 정의 } sum(num1:1, num2:2) //함수 호출 num1과 num2는 argument label이라 불리며 외부 매개변수라고도 한다. x와 y는 parameter name 혹은 내부 매개변수라 한다. 함수를 정의할 때는 parameter name을, 함수를 호출할 때는 argument label을 사용한다. argument name(외부 매개변수명)이 따로 없다면, parameter name(내부 매개..

iOS/Swift이론 2021.10.05