🌙 IOS 스터디

    [xcode] Animating View Properties

    [xcode] Animating View Properties

    관련 애플 개발자 문서 developer.apple.com/documentation/uikit/animation_and_haptics/property-based_animations Apple Developer Documentation developer.apple.com 레이아웃 속성을 이용한 간접적 애니메이션 뷰의 속성을 직접 이용한 애니매이션 애니매이션 할 수 있는 뷰의 속성들 Position & Size : bounds. frame. center ... (AutoLayout과 겹칠 수 있기 때문에 , 잘 사용하여야함) Transformation : rotation, scale, translation ... (합쳐서 사용도 가능) Appearance : backgroundColor, alpha ...

    [Xcode] MVVM을 이용하여 TableView로 구성한 원피스 현상금 앱

    [Xcode] MVVM을 이용하여 TableView로 구성한 원피스 현상금 앱

    개요 MVVM 디자인 패턴을 이용하여 원피스 현상금 랭킹앱을 디자인. 현상금이 높은 순서대로 보여주어야 한다. View구성은 TableView를 이용하였다. 실행 동영상 MVVM 디자인 패턴 View = UI + ViewController Model = 데이터 ViewModel = Model은 ViewModel를 거쳐서 접근 가능하여야 한다. 알고리즘적인 부분 수행 StoryBoard : UI TableView : Cell View에서 TableView를 구성한 다음에 Table View Cell 까지 디자인한다. 기존 Cell : xcode에서 자체적으로 지원하는 cell의 기본 디자인. 간단한 체크 표시 등등 가능. Custom Cell : 직접 디자인하여 cell을 구성하는 방법. 주로 이 방법으로..

    [ios] IOS 디자인 패턴 Design Pattern

    [ios] IOS 디자인 패턴 Design Pattern

    옷장에 있는 옷들처럼 코드도 체계적으로 분류하기위하여 필요한 것이 디자인 패턴. 유지 보수를 위하여는 패턴이 필요함. 클린 아키텍처 목표 : 기술부채 최소화, 재사용 및 지속 가능 MVC (model - view - controller) mvvm이 나오기 전의 패턴. model : 데이터 struct view : UI요소 controller : 두가지 사이에 중계자 viewController 단점: 개발이 커지면 커질수록, 중계자에서 해야할 일이 너무 많아짐 (massive view controller) 뷰와 모델의 경계가 모호해질 때가 있다. MVVM (model - view - viewmodel) 현재 가장 널리 사용하는 디자인 패턴 model : 데이터 view: UI요소 (view, viewcon..

    [Swift] Computed Property vs Method

    [Swift] Computed Property vs Method

    Property : 호출시 (저장된) 값을 하나 반환 Method : 호출시 어떤 작업을 함 또는 값을 리턴하는 작업도 가능. 자바가 익숙한 나는 값을 리턴할 때 자꾸 method를 찾게 된다. 둘의 차이점은? setter가 필요하면 Computed Property setter가 필요하지 않은데, 계산이나 여러가지 디비, 네트워크 등 복잡한 기능이 들어간다면 Method, 간단하다면 Computed Property

    [Swift] 스위프트 문서 정리 잘된 한국어 번역

    [Swift] 스위프트 문서 정리 잘된 한국어 번역

    jusung.gitbook.io/the-swift-language-guide/ The Swift Language Guide (한국어) jusung.gitbook.io 스위프트 문서 한글 번역본 melod-it.gitbook.io/sagwa/ 애플 개발자 문서 한글 번역 melod-it.gitbook.io 애플 개발자 문서 한글 번역본

    [IOS] MVVM 모델 개념

    [IOS] MVVM 모델 개념

    MVVM 모델 Model - View - ViewModel SwiftUI가 작동하려면 MVVM을 준수하여야한다. MVVM없이는 SwiftUI를 할 수 없음. MVC는 UIKit 개발 메커니즘을 따름. ( 몇년전만 해도 MVC모델 사용 ) Model은 UI와 독립적이다. 알고리즘적인부분, 기능적 부분, 데이터부분 등등 모델은 “The Truth” 데이터는 항상 모델->뷰로 이동한다. View는 모델에 있는 것을 그리는 것과 같다. 카드 매칭게임이 화면에 나타나는것 게임의 상태를 반영하는것이 뷰. 즉 모델의 상태를 반영함 선언하는 것과 같다. 스위프트UI는 명령형임 그래서 코딩을 해야함. 뷰는 사실은 구조체이고 , 기본적으로 읽기 전용이다. View Model은 View를 Model에 바인딩하는 것임 인터프..

    [IOS] Swift 생소한 문법 정리

    [IOS] Swift 생소한 문법 정리

    Optional 타입형 var carName: String? carName = nil //nil carName = "탱크" //탱크 Swift 에는 Obtional 타입형이라는 것이 있음. String? 이라는 타입형은 Optional String 타입형이라는 것이다 . 주의 ! String 형이 아님. Optional 타입형임. Optional 이라는 것은 값을 안가질수도 있는 상황(nil)일 때 쓰는 것이다. nil은 0도 아니고, null도 아니다. 값이 없다는 것임. optional 타입형으로 가져오기 싫으면 !를 붙여서 대입하면 , 값이 있는 것에 대한 타입형이 나옴. 단, 선언할 때 !는 ?와 마찬가지로 optional의 의미를 가짐 let num = Int("10") //num의 타입형은 I..

    [IOS] MVC 모델 설명

    [IOS] MVC 모델 설명

    MVC 란? MVC = Model View Controller의 3개의 그룹으로 나눈다 Model 그룹 : 프로그램이 하는 일 자체를 말한다. UI와는 독립적이다. 계산기로 따지면 계산하는 일 처리 같은 것 . 보통 foundation 모듈 import (core service) View 그룹 : UI적인 부분을 말한다. 버튼이나 디스플레이 같은 것들이 해당됨. Main.stroyboard가 여기에 해당 Controller 그룹 : Model과 View를 연결하는 역할을 하는 것. UIkit 모듈 import . ViewController.swift 가 여기에 해당 MVC의 Controller는 반드시 UIViewController를 상속받아야 함. 일반적으로 ios에선 MVC 한 개가 아이폰 화면 한개..

    [Xcode] MVC 모델로 만든 계산기 앱 (Standford 대학 IOS강의)

    [Xcode] MVC 모델로 만든 계산기 앱 (Standford 대학 IOS강의)

    개요 Model , View , Controller 그룹으로 철저히 나누어 계산기 앱을 만든다. Constant, Unary Calculate, Binary Calculate 연산이 가능하여야 한다. 사칙연산은 누적이 되어야 한다. 앱을 눕히더라도 꽉찬 계산기 형태로 나와야 한다. 계산은 실수 형태로 나타내진다. Demo 앱 화면이 1개의 간단한 앱이기에, MVC 한 단위만 사용하여 구현하였다! 설명 클로져를 사용하여 함수를 지저분하게 사용하지않고 인라인 함수처럼 사칙 연산을 구현한건데, 스위프트 엄청 똑똑한 언어로 잘 만든 것 같다 가장 기억에 남는 갓클로져... Model 그룹에 해당하는 CalculatorBrain.swift (직접 생성) : 계산기의 계산을 수행하는 클래스 부분 View 그룹에 해..

    [Xcode] 손전등 앱 (Flash App)

    [Xcode] 손전등 앱 (Flash App)

    개요 아이폰에 기본적으로 내장되어있는 손전등 앱이랑 같은 역할을 하는 기본적인 앱 구현 기능 손전등이미지에 있는 버튼을 누르면 UI 이미지도 바뀌며, 실제 아이폰의 Flash가 켜진다 바뀔 때마다 Sound 효과를 추가 하였다 기본 어플의 Icon 이미지 생성하였다 Demo 영상에서는 플레쉬가 터지는지 안터지는지 안보이지만 , 아이폰과 연결하여 테스트 해보았을 때, 문제 없이 잘 터짐. TIP Icon 이미지를 만들기 위해선 Asset Catalog Creator어플만 이용하면 편리하게 해결가능 아이폰에서 테스트 해보기 위해서는 개발자 아이디 등록을 해야한다 한번 켜진 버튼을 다시 끄고, 꺼진 버튼은 다시 키기 위해서 if, else문을 사용하는데 (삼항연산자를 사용하여 축약) UIImage를 이용하여 ..