일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- AppStore
- SwiftUI
- ios
- RxSwift
- forEach
- swift
- MVVM
- 이론
- 세종대학교
- async
- 스트럭트
- 딕셔너리
- 협업
- 앱개발
- 디자인 패턴
- 대표
- mvc
- CS
- 기초문법
- uikit
- 반응형
- 토이프로젝트
- 프로토콜
- struct
- 실습
- 네트워크
- 학과별커뮤니티
- WeatherKit
- collectionview
- 구름톤 유니브
- Today
- Total
목록swift (51)
스윞한 개발자
안녕하세요 이번 시간에는 Swift로 개발을 진행할때 사용할 패턴들에 대해 개념을 정리해보았습니다! 저는 일단 기본적으로 모든 프로젝트를 진행할때, MVC 패턴으로 구현을 했는데요! 이번 기회에 MVVM 패턴에 대해 공부하고 정리해서 앞으로 진행할 졸업 작품과 다양한 프로젝트, 과거에 했던 프로젝트도 정리 해보도록 하겠습니다! * MVVM(Model, View, Viewmodel) 기존의 uikit는 mvc를 따르고 있습니다. MVC(Model View Controller) Clean Architecture의 핵심은 바깥쪽 레이어가 안쪽 레이어에 대한 정보는 알아도 되지만, 안쪽 레이어는 바깥쪽 레이어에 대해 최대한 몰라야 한다는 것입니다. 외부 사항은 서비스가 완성이 되어 배포한 후에도 교체 및 수정의..
안녕하세요! 음원검색 서비스를 만들어 보았습니다! 그래서 오늘 포스팅은 ManiaDB를 연결해 노래를 찾는 서비스를 개발해 본 기록입니다. 최근에 졸업 작품으로 개발하고 있는 서비스가 있는데, 인공지능을 이용해 사람의 심리를 분석하고 노래를 추천해 주는 어플을 개발 중입니다! 그 과정에서 저는 어떤 데이터를 써야 할지 많이 찾아보고 시도해 보았는데요! 일단 저에게 많은 도움이 되었던 포스팅은 https://hanyeop.tistory.com/417 [Android] 음악 검색 API 알아보기 (Spotify, iTunes, ManiaDB) 음악 정보를 활용한 앱을 제작하려고 여러 음악 검색 API를 찾아보던 중, 우리나라의 대표적인 음원 사이트인 멜론에서는 언젠가부터 API를 지원해주지 않는다는 것을 알..
스토리보드를 이용해 커스텀 팝업 다이얼로그 웹뷰를 만들어보겠습니다! 팝업 버튼 생성합니다. 그 후 새로운 스토리보드를 생성해야합니다! 팝업 버튼을 누르면, 새로운 팝업 창이 떠야하기에 새로운 스토리보드가 필요합니다! 각 레이아웃을 적절하게 설정합니다. 팝업 창에 이미지를 넣기 위해 image View를 이용합니다. 팝업 창을 imageView, Label, Button을 이용해 기본 UI를 구성해줍니다. Assets에 사용하려고 하는 이미지 파일을 넣어줍니다. CustomPopUpViewController 파일을 생성해준 후, 스토리 보드에 만든 팝업 창을 연동시켜 줍니다. 외부의 화면을 터치했을 때, 화면이 꺼지게 하기 위해 버튼을 설정해줍니다. 구독 버튼을 눌렀을때, 웹뷰로 넘어가기 위해 WebKit..
이번 포스팅은 간단한 스위프트 기초문법입니다 !! 자료형을 체크하고 캐스팅하기 위한 문법들입니다ㅎㅎ 스위프트에서는 다양한 방법으로 변수나 상수의 자료형을 체크할 수 있습니다. 1. is 연산자로 자료형 확인 'is' 연산자는 변수나 상수가 특정 자료형과 호환되는지 확인하는데 사용됩니다. 이 연산자는 부울 값을 반환합니다. let value: Any = 5 if value is Int { print("value is an Int") } else if value is String { print("value is a String") } else { print("value is of an unknown type") } 2. as 연산자로 타입 캐스팅 'as'연산자는 변수나 상수의 자료형을 변환하는데 사용됩니다...
스위프트에서 프로토콜 조건은 제네릭 타입의 제약 조건을 정의하는 데 사용되는 개념입니다. 제네릭 함수나 타입을 선언할 때, 특정 프로토콜을 준수하는 타입만을 제네릭으로 받도록 제한하고 싶을 때 사용됩니다. func someFunction(parameter: T) { // 함수 내용 } struct SomeStruct { // 구조체 내용 } 와 는 제네릭 타입 T가 각각 SomeProtocol와 AnotherProtocol 프로토콜을 준수하는 타입으로 제한되도록 정의한 것입니다. func findIndex(of valueToFind: T, in array: [T]) -> Int? { for (index, value) in array.enumerated() { if value == valueToFind {..
스위프트에서의 toggle은 부울 값을 반전시키는 메서드입니다. toggle은 주로 불리언 변수나 프로퍼티의 값을 반전시키는 데 사용됩니다. var isOn = false isOn.toggle() // 이제 isOn은 true가 됨 class ToggleExample { var isEnabled = true func toggleState() { isEnabled.toggle() } } isEnabled 프로퍼티의 값을 toggle 메서드를 호출함으로써 반전시킬 수 있습니다. Collection 프로토콜을 채택한 컬렉션(배열, 집합 등)의 요소들 중에서 특정 값을 반전시키는 데에도 사용될 수 있습니다. var numbers = [1, 2, 3, 4, 5] let index = 2 numbers[index]..
싱글턴 패턴! 에 대해 포스팅해보겠습니다. 싱글턴 패턴은 객체 지향 프로그래밍에서 사용되는 디자인 패턴 중 하나로, 어떤 클래스가 단 하나의 인스턴스만을 생성하도록 보장하는 패턴입니다. 이 인스턴스는 어디서든 접근 가능하며, 전역적으로 공유되는 자원을 관리하거나 중복 생성을 피하기 위해 사용됩니다. class Singleton { static let shared = Singleton() // 유일한 인스턴스를 저장하는 정적 속성 private init() { // 초기화 코드 } func someFunction() { // 메서드 내용 } } 위의 코드에서 shared 라는 정적 속성을 사용하여 유일한 인스턴스를 생성하고자 저장합니다. 생성자 private init()를 통해 외부에서의 직접적인 인스턴스..
struct 기본 생성자! 포스팅해볼게요 ㅎㅎ 스위프트에서 struct는 값 타입을 정의할 때 사용되는 키워드입니다. struct는 클래스와 달리 값 복사가 이루어지는 특성을 가지며, 기본 생성자를 자동으로 제공합니다. 기본 생성자는 모든 프로퍼티에 초기값이 제공되어 있거나, 옵셔널 프로퍼티가 있는 경우 자동으로 생성됩니다. struct Point { var x: Int var y: Int } // 기본 생성자 사용 let origin = Point(x: 0, y: 0) print("x: \(origin.x), y: \(origin.y)") // x: 0, y: 0 Point 구조체는 'x'와 'y'라는 두 개의 프로퍼티를 가지고 있습니다. 구조체는 기본 생성자를 자동으로 제공합니다. 이 기본 생성자는 ..