Inheritance 안녕하세요. 이번 챕터에서는 Inheritance(상속)에 대하여 알아보려고 합니다. 여행 및 개인 프로젝트를 진행하면서 일정문제로 업로드를 꽤 오래 지속하지 못했습니다. 시간이 괜찮을 때 조금씩 작성해서 업로드를 진행할 예정입니다. 지금부터 아래 내용을 잘 확인해주세요. 아래 내용은 모두 Xcode 10.2.1, Swift 5 에서 작성되었습니다. (Swift 4.2로 작성되다 마지막에 Swift 5로 변경되었습니다. 변경된 후 모두 작동된 코드입니다.) Nebori Swift Book 상속 혹시 '뉴 게임'이 있는 비디오 게임을 해보신 적이 있으신가요? 게임과 친하지 않은분들도 계질지 모르니 잠시 설명드리겠습니다. 스토리가 있는 게임에서 처음부터 결말까지 모두 클리어를 하게된 후..
DMG 생성하기 macOS에서 어플리케이션을 배포하는 방법은 App Store를 통하는 방법도 있지만, 자체 사이트에서 배포하는 경우도 많이 볼 수 있습니다. 예를 들자면 Teamviewer, Dropbox 등등이 dmg1로 배포를 하고있습니다. 모든 dmg모습이 똑같지는 않습니다. Teamviewer의 경우 아래와 같습니다. DMG 직접 만들어보기 dmg 이미지 생성하기 우선 배포를 하기위해 디렉토리를 하나 생성하고 배포하려는 파일도 같이 넣어주세요. 저의 경우는 예시를 위해 텍스트 파일을 생성했습니다. Disk Utility를 실행해주세요. File - New Image - Image from Folder를 클릭하세요. 먼저 생성한 디렉토리를 클릭하세요. Image Format을 read/write로..
UnitTest Unit test Swift Xcode에서 Unit test 코드 작성 및 실행하는 방법에 대해서 기록한 문서입니다. 버전 정보 현재 이 문서를 작성하는 기준 버전들을 기재합니다. macOS Mojave 10.14 Xcode 10.1 (10B61) Swift 4.2 직접 해보기 프로젝트 생성하기 Unit test 파일 들여다보기 // // UnitTestTests.swift // UnitTestTests // // Created by 김인중 on 23/01/2019. // Copyright © 2019 nebori92. All rights reserved. // import XCTest // 해당 프로젝트를 테스트 하기 위해 반드시 임포트 // @testable import [Projec..
Glue macOS 화면을 분할 및 정렬 해보자! 'Glue' 안녕하세요. 저는 게이밍을 위해 윈도우10 PC를 집에 가지고 있습니다.윈도우 10에는 화면을 가장자리에 붙이는 기능이 있습니다.윈도우키 + 화살표단축키를 이용해서 현재 최 상단 윈도우를 가장자리에 붙여서 화면을 효율적으로 분할해서 이용할 수 있도록 되어있죠. 그런데 macOS에는 이런 기능이 존재하지 않습니다.이미 상용화 되어있는 어플리케이션이 존재하긴 하지만 저도 만들어보았습니다. Glue 'Glue'는 위에서 말씀 드린 것처럼 macOS에서 기본 제공하지 않는 화면 분할 기능을 제공하기 위해서 만든 어플리케이션입니다.다중 작업을 할 때, 화면을 50%씩 분할하여 편리하게 작업을 진행하세요. 기능 control, option, comman..
ARC ARC 안녕하세요.이번 챕터에서는 ARC(Automatic reference counting)에 대하여 알아보려고 합니다. 여러분들은 앞의 챕터를 진행하시면서 많은 객체를 생성하셨습니다.객체가 생성되면 자동적으로 메모리에 값이 저장되게 되면서 메모리의 용량을 차지하게 되는데요.메모리의 총량은 한정되어있는데 계속 객체가 생성만 된다면 문제가 발생할 것입니다.이런 문제를 해결하기 위하여 메모리 관리에 대해서 알아보려고 합니다. 지금부터 아래 내용을 잘 확인해주세요.아래 내용은 모두 Xcode 10, Swift 4.2 에서 작성되었습니다. Nebori Swift Book 메모리 관리 메모리는 한정된 자원입니다.한정된 자원을 계속해서 사용만 한다면 결국 자원은 부족하게 될 것이고, 해야하는 일을 못하게 ..
Initialize 안녕하세요. 이번 챕터에서는 Initialize(초기화)에 대하여 알아보려고 합니다. 앞 챕터들을 거쳐오면서 많은 정의와 객체를 생성하는 것을 보셨습니다. 최대한 간단하게 예제를 처리하기 위해서 default(초기값)을 할당하고 진행을 했었는데, 이번 챕터에서는 초기화를 조금 더 깊게 살펴보려고 합니다. 지금부터 아래 내용을 잘 확인해주세요. 아래 내용은 모두 Xcode 10, Swift 4.2 에서 작성되었습니다. Nebori Swift Book 초기화 일반 타입 먼저 앞 챕터들에서 사용했던 일반적인 초기화를 잠시 보고 가겠습니다. 옵셔널이 아닌 변수나 상수는 초기값을 할당해주지 않으면 에러가 발생합니다. 하지만 그 변수나 상수가 옵셔널이라면 자동으로 nil로 초기화가 된다는 차이점..
Enum Enum 안녕하세요.이번 챕터에서는 Enum(열거형)에 대하여 알아보려고 합니다. 지금부터 아래 내용을 잘 확인해주세요.아래 내용은 모두 Xcode 10, Swift 4.2 에서 작성되었습니다. Nebori Swift Book 열거형 열거형은 여러 값들을 열거해놓고 그 중 하나를 골라서 사용한다고 이해하시면 쉽습니다.열거형을 사용하는 경우는 어떤 상태(서있음, 달림, 누워있음, 앉아있음 등), 제한된 값만 가지는 값(계절, 12개월, 시간 등)을 다룰 때 사용합니다.지금부터 열거형의 사용 방법들을 알아보겠습니다. 열거형 정의 enum HumanStatus { // Swift3 가이드라인부터 열거형의 원소는 소문자로 시작하여 카멜케이스를 사용하기를 권장합니다. case lie case stand ..
Class Class 안녕하세요.이번 챕터에서는 Class(클래스)에 대하여 알아보려고 합니다. 클래스 먼저 자세히 알아보고, 그 다음으로 구조체와 클래스의 차이점에 대하여 다루려고 합니다. 지금부터 아래 내용을 잘 확인해주세요.아래 내용은 모두 Xcode 10, Swift 4.2 에서 작성되었습니다. Nebori Swift Book 클래스 클래스 정의 먼저 클래스의 정의 방법에 대해서 먼저 보여드리겠습니다.구조체와 크게 다르지 않으므로 이 점 참고하여 봐주시길 바랍니다. class Rectangle { var width: Int = 0 var height: Int = 0 } 객체 생성 var rect01 = Rectangle(width: 10, height: 10) 프로퍼티 접근 rect01.width..
Struct 안녕하세요. 이번 챕터에서는 Struct(구조체)에 대해서 알아보도록 하겠습니다. 어떠한 값들을 구조화하여 처리하기 위해서 하나의 덩어리로 만들어 사용할 때 구조체를 사용하면 됩니다. 말로 전달하기에는 부족함이 많이 느껴지네요. 지금부터 아래 내용을 잘 확인해주세요. 아래 내용은 모두 Xcode 10, Swift 4.2 에서 작성되었습니다. Nebori Swift Book 구조체의 필요성 구조체의 필요성에 대해서 먼저 알아보려고 합니다. 왜 값들을 하나의 덩어리로 뭉쳐서 처리해야 하나요? 그냥 다 따로 관리하면 안되나요? 물론 하나로 뭉쳐서 사용하지 않아도 괜찮고, 따로 관리해도 상관은 없습니다. 하지만 가독성과 편의성을 위해서는 하나의 덩어리로 뭉쳐서 사용하는 것이 좋습니다. 예시를 한번 ..
Function 안녕하세요. 이번 챕터에서는 Function(함수, 메서드)에 대해서 알아보도록 하겠습니다. 함수는 어떠한 동작을 나타내는 단위입니다. 이전 챕터들에서 사용했었던 print()도 함수였죠. 이 챕터에서 함수의 작성 방법과 사용 방법까지 쭉 익히시면 됩니다. 지금부터 아래 내용을 잘 확인해주세요. 아래 내용은 모두 Xcode 10, Swift 4.2 에서 작성되었습니다. Nebori Swift Book 함수의 정의 변수도 사용하기 위해서는 정의를 하듯이 함수도 정의를 해야겠죠? 함수를 정의하는 방법을 알아보도록 합니다. 우선 함수의 구조부터 보여드리겠습니다. []안에 있는 값은 생략 가능합니다. // 매개변수 x, 리턴타입 x func 함수이름() { // 함수 바디 } // 매개변수 x,..
- Total
- Today
- Yesterday