IOS

    [Swift] nil 과 Optional 이란 무엇인가?

    [Swift] nil 과 Optional 이란 무엇인가?

    nil이란? Swift에서는 변수에 객체가 할당되지 않은 상태를 nil이라 부른다. 기존 Object-C에서는 null과 nil이 모두 있었지만, Swift에서는 nil만 사용하므로 nil = null과 똑같이 사용된다고 보면 된다. Optional이란? Optional이란 nil이 될 수 있는 변수의 타입을 뜻한다. 다음과 같이 타입에 ?가 붙어있지 않으면 name이 null이 될 수 없는 타입이 된다. let name : String = "Dblog.tech" 하지만 응답 결과에 따라 값이 생성되지 않을 수 있는 값들은 nil 상태도 지원이 되게 만들어야 한다. nil이 될 수 있는 타입은 기존 타입에 '?'가 붙은 타입이다. var responseFromServer : String? = nil Op..

    [Swift] suffled 사용해 Array 순서를 랜덤으로 바꾸기

    [Swift] suffled 사용해 Array 순서를 랜덤으로 바꾸기

    suffled() 는 어떻게 동작하는가? Swift에는 suffled라 불리는 셔플링 함수가 있다. suffled를 사용하면 변환된 Array가 반환된다. 단 원래 Array는 그대로 남아있는다. Array.shuffled() 예시 예를 들어 다음과 같은 (0...10) Array에 셔플링을 하는 코드를 만들어보자. let array = 0...10 let suffledArray = array.shuffled() print("Array: \(array)") print("Suffled Array: \(suffledArray)") 위에서 array값은 바뀌지 않는다. 하지만 suffledArray는 셔플링된 값이 나온다.

    [Swift] Random 값을 뽑아내는 다양한 방법 : Random 숫자, Collection Random 값 뽑기

    [Swift] Random 값을 뽑아내는 다양한 방법 : Random 숫자, Collection Random 값 뽑기

    random함수를 이용해 Random한 숫자 뽑아내기 Random한 Int 값을 뽑기 위해서는 random 함수를 이용하면 된다. Random Int 값 뽑기 Int.random(in: 0...10) Random Float 값 뽑기 Float.random(in: 0...10) randomElement이용해 Collection으로부터 Random 값 뽑아내기 randomElement를 이용해 Collection으로부터 Random 값을 뽑아낼 수 있다. Array.randomElement() List.randomElement() 단, output 값은 nullable한 Optional 값으로 나온다.

    Swift의 var과 let의 차이는 무엇인가?

    Swift의 var과 let의 차이는 무엇인가?

    var과 let의 차이는 무엇인가? var은 설정된 값이 변할 수 있는 가변 변수이고 let은 설정된 값이 변할 수 없는 불변 변수이다. var : 가변(Mutable) 변수 var은 설정된 값이 변할 수 있는 변수이다. 예를 들어 아래와 같이 a를 var로 선언하고 reassign하는 코드를 실행했다고 해보자. var a = 1 print("a: \(a)") a = 3 print("[changed] a: \(a)") a의 값은 1에서 3으로 바뀌고 바뀐 a값이 프린트 될 것이다. let: 불변(Immutable) 변수 let은 설정된 값이 변할 수 없는 변수이다. 예를 들어 아래와 같이 a를 let로 선언하고 reassign하는 코드를 실행했다고 해보자. let a = 1 print("a: \(a)")..

    Xcode에서 Playground 이용해 Swift 코드 실행하기

    Xcode에서 Playground 이용해 Swift 코드 실행하기

    Playground는 무엇인가? Playground는 Light하게 Swift Code를 실행할 수 있는 환경이다. Playground Xcode에서 사용하는 방법 1. File-New-Playground 클릭 2. Blank 선택 한 후 Next 클릭 3. Playground 이름 지정 및 Create 4. 작성한 후 재생버튼(▶) 누르면 실행됨

    Xcode13 에서 Image Literal 사용하는 방법. Image Asset 코드 상에서 가져오기

    Xcode13 에서 Image Literal 사용하는 방법. Image Asset 코드 상에서 가져오기

    Xcode13에서 imageLiteral이 자동완성 되지 않는 문제가 발생 iOS 공부 도중 imageLiteral이 자동완성 되지 않는 문제가 발생했다 Xcode12까지는 됐던 모양인데 13에서는 작동하지 않는다. 해결책 : #imageLiteral 사용하기 #imageLiteral( 을 치면 imageLiteral이 나온다. 여기서 주의할 점은 '('까지 쳐야 나온다는 점이다. #imageLiteral( 위와 같이 치면 그림2로 치환된다. 그림2를 더블클릭하면 아래와 같이 이미지 어셋들이 나오는데 필요한 값을 더블클릭하면 이미지 값이 가져와진다.

    [iOS UI] ImageView의 Content Mode 한 번에 정리하기 : Aspect Fit,  Aspect Fill, Scale To Fill, Redraw, Center, Top, Bottom, Left, Right, Top Left, Top Right, Bottom Left, Bottom Right

    [iOS UI] ImageView의 Content Mode 한 번에 정리하기 : Aspect Fit, Aspect Fill, Scale To Fill, Redraw, Center, Top, Bottom, Left, Right, Top Left, Top Right, Bottom Left, Bottom Right

    Image View의 Content Mode 종류 IOS는 Image View에서 이미지가 어떻게 보일 것인지에 대한 다양한 모드를 지원한다. Aspect Fit : 이미지의 비율을 유지한체로 이미지의 가로 세로 중 긴쪽을 화면의 가로 또는 세로에 맞추는 모드 Aspect Fill : 이미지의 비율을 유지한체로 이미지의 가로 세로 중 짧은쪽을 화면의 가로 또는 세로에 맞추는 모드 Scale To Fill : 이미지뷰의 크기를 꽉 채우기 위해 비율을 늘리는 모드. 만약 Geometry가 바뀌면 원래 이미지를 그대로 사용. Redraw : 이미지뷰의 크기를 꽉 채우기 위해 비율을 늘리는 모드. 만약 Geometry가 바뀌면 이미지를 다시 랜더링. Center : Image의 크기는 그대로 ImageView의..

    [Xcode] Xcode에 테마(Theme) 설정하기

    [Xcode] Xcode에 테마(Theme) 설정하기

    Theme 설정이 중요한 이유 개발을 하면서 Theme 설정은 중요하다. 중요한 부분을 강조해서 보여주고, 중요하지 않은 부분을 덜 강조해서 보여주기 때문이다. Theme 설정 위치 1. Xcode - Preferece 진입 2. Themes 탭 진입 지원하는 Customizing Options 종류 Color : 색상 커스터마이징 Font : 폰트 커스터마이징 Linespacing : 줄 간격 Customizing Cursor : 커서 커스터마이징 Background : 배경색 커스터마이징 Current Line : 현재 라인 색상 커스터마이징 Selection: 선택시 색상 커스터마이징 Cursor: 커서 색상 커스터마이징 아래에서는 자주 쓰이는 커스터마이징 옵션 두개 Color, Font와 자주 쓰..

    [Xcode] Xcode Dark Mode, Light Mode 변경하는 방법

    [Xcode] Xcode Dark Mode, Light Mode 변경하는 방법

    Dark Mode와 Light 모드 Xcode는 기본적으로 System의 Mode를 따라간다. 하지만 System은 Light 모드로 해놓았더라도 코드를 짤 때 Light 모드로 해놓으면 눈이 아프므로 Dark Mode로 설정하고 싶을 수 있다. Xcode에서는 해당 Mode를 설정하는 옵션을 제공한다. 다음의 과정을 따라서 설정하도록 하자. 1. Xcode - Preferece 진입 2. General Section 진입 3. Appearance를 Light 모드나 Dark 모드로 변경 System 옵션은 Default 값으로 시스템의 설정을 따라가는 값이다.

    [Xcode] Xcode13에서 iOS앱이 지원할 iOS Deployment Target 설정하기 : Minimum iOS Version 설정하기

    [Xcode] Xcode13에서 iOS앱이 지원할 iOS Deployment Target 설정하기 : Minimum iOS Version 설정하기

    Deployment Target 이해하기 우리가 만들 앱이 지원할 최소 버전을 설정하기 위해서는 Deployment Target을 설정해야 한다. 만약 Deployment Target을 설정하면 Deployment Target보다 낮은 iOS Version에서는 앱을 설치할 수가 없어진다. Deployment Target은 Project와 Targets에서 설정할 수 있다. 기본적으로 Project는 하나이고, Targets는 여러개이다. Target의 Deployment Target은 Project의 Deployment Target을 override한다. 이 뜻은 만약 Target의 Deployment Target이 13.1인데 Project의 Deployment Target이 iOS12.1라면 Pro..