개발

    Swift 사용자 정의 타입 - Struct

    Swift 사용자 정의 타입 - Struct

    Struct는 '값 타입' 입니다. 스위프트의 대부분의 타입은 구조체로 이루어져 있습니다. 구조체는 클래스와 합께 OOP를 위한 필수요소이며, 프로그램의 코드를 추상화하기 위해 사용합니다. siwft의 구조체는 다른 언어와는 다르게 별도의 인터페이스 파일을 만들 필요가 없습니다. 구조체와 클래스는 모두 새로운 데이터 타입을 정의하고 기능을 추가합니다. 하지만 구조체는 '값 타입', 클래스는 '참조 타입'이라는 차이가 있죠. 둘중 하나를 어떤 기준으로 선택해서 사용해야 할까요? 애플 공식 문서에서는 다음 조건 중 하나 이상에 해당된다면 구조체 사용을 권합니다. 연관된 간단한 값의 집합을 캡슐화 하는 것만이 목적일 때 캡슐화된 값이 참조되는 것보다 복사되는 것이 합당할 때 구조체에 저장된 프로퍼티가 값 타입..

    Swift 반복문

    Swift 반복문

    Swift에서 반복문은 for-in, while, repeat-while 세가지입니다. 1. for - in for-each 구문과 유사합니다. 초기식에 따라 조건식을 판단해 실행하고, 변환식을 계산합니다. 조건식이 참일 경우 검사를 계속 진행하고, 거짓일 경우는 종료합니다. 일정 횟수동안 반복해야하는 경우 사용합니다. 기본 형식 for 반복문 안에서 사용할 변수명 in 바구니 객체{ 수행할 작업 } 간단 예제 구구단 for x in 2...9{ print( 2*x ) } 1~100까지의 총 합 //1부터 100까지의 합 var total: Int = 0; for x in 1...100{ var sumBefore = total total = total + x print("\(sumBefore)+\(x) ..

    Swift의 조건문

    Swift의 조건문

    Swift의 조건문은 if-sele와 switch-case문으로 나뉩니다. if-else 구문 if-eles구문의 형태 및 사용 java와 동일한 if-else 구조를 가집니다. 단, 조건값을 감싸는 소괄호는 선택사항인 점이 다릅니다. 기본 형태 //조건은 항상 Bool 타입이 와야 함. if 조건 { // if 조건에 만족시 실행 } else if 조건 { // if 조건에 해당하지 않고 else if 만족시 실행 } else { // if, else if 조건에 모두 해당하지 않을때 실행 } 간단한 사용 예제 let priceOfApple = 4000 let priceOfBanana = 3000 if priceOfApple > priceOfBanana { print("사과는 바나나보다 비쌉니다.") ..

    Swift 함수 고급

    Swift 함수 고급

    매개변수에 기본값 지정 //매개변수의 타입을 지정한 뒤에 "=기본값"을 입력해 기본값을 지정합니다. func funcName(parameter1: String, parameter2: String="다다익선"){ print("\(parameter1)은(는) \(parameter2)!") } //기본값을 가지는 매개변수는 호출시 생략 가능. funcName(parameter1:"공부") //공부은(는) 다다익선! funcName(parameter1:"게임", parameter2:"적당히") //게임은(는) 적당히! 전달인자 레이블 사용 전달인자 레이블은 함수를 호출해서 사용할 떄, 변수들을 쉽게 구분하기 위한 용도로 사용합니다. 별다른 명칭없이 넣고 싶다면 _를 사용하면 됩니다. func func1(from..

    Swift 간단한 사칙연산

    Swift 간단한 사칙연산

    let a = 8 let b = 5 var result: Int //덧셈 func sum(num1: Int, num2: Int)->Int{ return num1+num2 } result = sum(num1: a,num2: b) print(result) //13 //뺄셈 func sub(num1: Int, num2: Int)->Int{ return num1-num2 } result = sub(num1: a,num2: b) print(result) //3 //곱셈 func mul(num1: Int, num2: Int)->Int{ return num1*num2 } result = mul(num1: a,num2: b) print(result) //40 //나눗셈 func div(num1: Int, num2: I..

    Swift 함수의 선언과 호출

    Swift 함수의 선언과 호출

    함수 선언 //반환값이 있는 함수 func functionName(parameter1 : String, parameter2 : Int) -> String{ return "결과값" } //반환값이 없는 함수 fun noReturnFunc(parameter1 : String) -> Void{ print(parameter1) } //Void는 생략가능합니다. fun noReturnFunc(parameter1 : String) -> { print(parameter1) } //매개변수와 반환값이 없는 경우 func justPrint(){ print("just print") } 함수 호출 func sum(num1: Int, num2: Int)->Int{ result num1+num2 } sum(num1: 2, su..

    Swift API 설계 지침

    Swift API 설계 지침

    * 계속 공부하며 수정될 문서입니다. 마지막 업데이트 3/8 Apple devloper 공식 가이드를 참고하며 공부했습니다. https://swift.org/documentation/api-design-guidelines/ Swift.org Swift is a general-purpose programming language built using a modern approach to safety, performance, and software design patterns. swift.org 기초 사용 시점의 명확성 엔터티는 한번 선언하지만 반복적으로 사용된다. 그러기에 용도가 명확하고 간결해야 합니다. 간결함 < 명확성 최소한의 문자로 가능한 한 작은 코드를 사용하는것이 코딩의 목표는 아닙니다. 주석 문..

    Swift mark down 활용하기

    Swift mark down 활용하기

    mark up "(mark) 또는 tag로 둘러싸인 언어로써 문서나 데이터의 구조를 명기하는 언어이다. mark down 작성한 텍스트를 Mark up으로 변환해주는 언어. swift 에선 /// 또는 /***/를 이용한다. 공식문서 : https://swift.org/documentation/api-design-guidelines/ Swift.org Swift is a general-purpose programming language built using a modern approach to safety, performance, and software design patterns. swift.org 참고 : https://nsios.tistory.com/63 [Swift] MarkUp Overview ..

    Swfit란 뭘까?

    Swfit란 뭘까?

    mac OS, iOS, watchOS, tvOS등 apple사의 플랫폼을 위한 프로그래밍 언어이다. 공식 사이트에서는 스위프트를 3가지 특징으로 표현한다. Safe 안전한 프로그래밍을 지향한다. 사용전 변수 초기화, 배열 및 정수에 대한 오버플로우 검사, 자동적으로 관리되는 메모리와 같은 기능들과 엄격한 문법을 적용해 프로그래머의 실수를 미연에 방지합니다. Fast 스위프트는 C언어와 동등한 성능을 일정한 수준으로 유지하는데 초점을 맞춰 개발되었습니다. 예를들자면, 가상머신 상에서 바이트코드⁽¹⁾로 실행되는 것이 아니라 C처럼 기계어로 번역되어 사용된다는 점이 있죠. 실행속도 최적화 및 컴파일러의 지속적인 개량을 통해 더 빠른 성능을 구현해 가고 있습니다. Expressive 다양한 언어의 장단점을 참고..

    [개발환경 구축] VMware로 mac os를 설치해보자[1]

    [개발환경 구축] VMware로 mac os를 설치해보자[1]

    IOS App 개발을 위해 개발환경을 구축해보려고 한다. 우선, 맥과 IOS를 위한 애플의 공식적인 IDE인 Xcode를 설치해서 사용해보려고 했는데, Xcode는 mac os환경에서만 사용을 할 수가 있더군요. 그래서 VMware에 mac os를 구동시켜 보기로 했습니다. 물론, 굳이 이럴필요 없이 mac을 클라우드 환경으로 원격 대여하는 방법도 있습니다. 아래 링크에 종류와 방법이 자세히 나와있습니다. (영문주의 ㅎㅎ) codewithchris.com/xcode-for-windows/ You can run Xcode on Windows! Here are 12 different ways to use Xcode on Windows and do iOS development on a PC. You don't..