반응형

Swift 37

[Swift] Enumeration (열거형) 살펴보기

Swift - Enumeration (열거형) An enumeration defines a common type for a group of related values and enables you to work with those values in a type-safe way within your code. Swift의 열거형은 C나 C++ 처럼 0을 기본 값으로 갖지 않는다. enum CompassPoint { case north case south case east case west }enum 타입의 변수를 선언할 때는 CompassPoint.east 라고 해도 되고 goEast 처럼 이미 타입을 지정한 경우는 .east 만써도 컴파일러가 알게 된다 var goSouth: CompassPoint = C..

Programming/Swift 2019.07.10

[Swift] Properties 1 - Stored properties (저장 프로퍼티)

Swift - Stored properties (저장 프로퍼티) Properties 프로퍼티는 값을 특정 class, struct, enum과 연결한다 Stored Properties (저장 프로퍼티) computed properties (연산 프로퍼티) type properties (타입 프로퍼티) 총 세개로 나뉜다. Stored Properties (저장 프로퍼티) 저장 프로퍼티는 특정 class또는 struct 인스턴스의 일부로 저장되는 상수 또는 변수 변수를 저장하면 변수 저장 프로퍼티, 상수를 저장하면 상수 저장 프로퍼티 라고 부른다 이 프로퍼티를 선언할 때 기본 값을 설정할 수 있습니다 struct FixedLengthRange { var firstValue: Int let length: In..

Programming/Swift 2019.07.09

함수와 메소드의 차이는?

함수와 메소드의 차이 야곰님의 Swift 문법책을 보다가 함수와 메소드의 차이가 적혀있더라구요 아니 함수랑 메소드가 다르다니;;;무슨 소리야 싶은데 뭐 그렇게 다른 것도 아닙니다. 같지만 다른 친구, 다르지만 같은 친구 그런거 밑에 코드에 적은 것 처럼 우리가 부르는 함수는 전역/지역 상관없이 사용하는 함수를 말하고 메소드를 클래스/구조체/열거형 등 특정 타입 안에 작성된 함수를 메소드라고 부릅니다. 함수/메소드는 각 위치나 범위에 따라 부르는 호칭이 달라지는 것이며 함수인 것은 동일합니다 그래도 분명한 차이가 있다는 것은 이번에 다시 알게되었네용 큰 범위로 함수라 할 수 있습니다 근데 iOS에서는 ViewController 생성 시 모두 class 타입을 가집니다 class ViewController:..

Programming/기타 2019.06.17

[Swift] Swift Any, AnyObject 차이 알아보기

Swift Any, AnyObject Swift에는 모든 타입을 담을 수 있는 데이터 타입이 있다. Any 와 AnyObject 이다 두 차이는 Any는 변수 또는 상수를 마음껏 담을 때 사용하는 타입이라면 AnyObject는 클래스의 인스턴스만 할당할 수 있다 // 다양한 타입의 변수 담기 var someVar: Any = "123" someVar = 12 someVar = 56.2 // 클래스의 인스턴스 var some: AnyObject = Some() 하지만 이 두 타입 모두 사용하지 않는 편이 낫다 사용하면 매번 타입 체크 및 형변환을 해야하기 때문에 처음부터 해당하는 타입을 지정하는 편이 낫다 인스턴스 많은 언어에서 클래스의 인스턴스를 객체라고 부르지만 스위프트 공식 문서에서는 한정적 의미로 ..

Programming/Swift 2019.06.12

[Swift4.2] Swift로 함수형 프로그래밍 시작하기 - Pure Function

최근 듣는 강의 - 인프런 Swift로 함수형 프로그래밍 시작하기몇개 안들었지만 좋은 강의라는 게 느껴집니다. Pure function 특정 input에 대해서 항상 동일한 output을 반환하는 함수 output을 만드는데 input만을 사용한다는 의미 함수 외부의 값을 변경하거나 저장하는 등 사용하지않아 side-effect가 없다 side-effect (부작용) 함수가 결과 값 이외에 외부의 값을 변경하게 되면 부작용이 있다고 할 수 있음 함수형 프로그래밍을 통해 이 부작용을 최소화할 수 있음 만일 함수가 외부 값을 변경하거나, 혹은 외부 값을 참조해서 output을 결정하게 되면 해당 변수/함수의 예상치 못한 값 변경이 있다면 에러가 발생할 수 있는 상황이 생기게 된다. Pure Function ..

Programming/Swift 2019.02.15

[iOS/Swift] Initialization

커스텀 클래스 init(coder:) https://developer.apple.com/documentation/foundation/nscoding/1416145-init Returns an object initialized from data in a given unarchiver 스토리보드에서 초기화 메소드를 호출할 때 이 메소드를 호출한다. 따라서 스토리보드에서 생성한 객체의 초기화가 필요한 경우 이 메소드에서 작성해준다. parameter로 들어가는 NSCoder 타입은 스토리보드에서 자동으로 생성되는 값이다. 스토리보드를 이용하지않더라도 해당 메소드를 사용할 수는 있지만 실제로 NSCoder에 어떤 값이 들어가는지는 알기 어렵다. init(frame:) https://developer.apple...

Programming/Swift 2018.12.13

[Swift] Switch 표현식

// 아론 힐리가스의 iOS 프로그래밍 5판// 2장 Swift 언어// 열거형과 Switch문 몇달 전 회사 개발 서적으로 이 책을 신청했는데 계속 못보고.. 이제서야 집에 가져와서 보고있다. // enum문 예제enum FruitType {case Applecase Bananacase Orange} // Switch문 예제let favoriteFruit = FruitType.Apple // favoriteFruit의 Type : FruitTypelet name: Stringswitch favoriteFruit {case .Apple:name = "Apple"case .Banana:name = "Banana"case .Orange:name = "Orange"} // name = "Apple" 위 구문에..

Programming/Swift 2018.10.20

[iOS/Swift3.0] Concurrency 간단히 살펴보기

iOS Concurrency 간단 정리!! Concurrency란? 동시성 -> 프로그램을 실행할 때 단 하나의 실행 순서를 갖도록 하는 제약을 없애고 각 부 프로그램이 다른 부프로그램과 병렬적으로 동시에 실행되는 것 -> 두 개 이상의 프로세스들이 다른 프로세스의 수행과 상호 독립적으로 동시에 수행될 수 있는 성질-> Concurrency은 여러 스레드가 동시에 진행되는 것처럼 보이나 실은 작업을 번갈아가며 진행하는 것이다. 비동기(Asynchronous) 프로그래밍 프로그램의 주 실행 흐름을 멈추어서 기다리는 부분 없이 바로 다음 작업을 실행할 수 있게 하는 방식 코드의 실행 결과 처리를 별도의 공간에 맡겨둔 위 결과를 기다리지 않고 바로 다음 코드를 실행하는 병렬처리 방식 보통 네트워크 작업이 사용..

Programming/Swift 2018.06.25

[Xcode] Localizable.strings 파일 에러 찾기

iOS나 macOS에서 동작하는 프로그램을 만들 때는 Xcode를 사용한다.Xcode에서는 다양한 언어 환경에서도 사용할 수 있도록 다국어를 제공하는데, 원하는 다국어를 적용하게 되면 Localizable.strings 파일이 국가별로 생성된다. 이 파일에서는 string형의 키와 값이 있는데, 여러 다국어가 있을 때 하나의 키로 앱 내에서 사용하면 된다. "key" = "value"; 근데 이 파일에서 위의 형식을 따르지않으면 오류가 발생하게 되는데 매우 불친절 하게도.. 어느 라인에서 해당 문제가 발생하였는지는 알려주지않는다. Localizable.strings 파일 에러 찾기!!! 1. terminal.app 오픈command+space bar 하면 나오는 Spotlight 검색으로 더 빨리 실행할..

Programming/iOS 2018.06.05
728x90
반응형