일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- ios
- 반응형
- 프로토콜
- collectionview
- 네트워크
- async
- 구름톤 유니브
- WeatherKit
- 앱개발
- 협업
- mvc
- 토이프로젝트
- uikit
- swift
- CS
- 이론
- 디자인 패턴
- 기초문법
- 대표
- 세종대학교
- 실습
- forEach
- 딕셔너리
- SwiftUI
- 스트럭트
- 학과별커뮤니티
- MVVM
- RxSwift
- struct
- AppStore
- Today
- Total
목록전체 글 (87)
스윞한 개발자
이번 포스팅에서는 UICollectionView에 대해 정리해보겠습니다. UICollectionView란? 1. Grid 형 UI를 구현할 수 있는 수단 2. 메모리절약을 위해 view를 재사용 함 3. Delegate 패턴을 활용하여, delegate/dataSource를 구현하여 UI 구현 4. UICollectionViewLayout을 상속하여 UI의 배치를 선언 할 수 있음 >> 기본으로 제공되는 것 : UICollectionViewFlowLayout, UICollectionViewCompositionalLayout !! UICollectionView를 위와 같이 간단하게 4가지로 정의할 수 있습니다! 4번의 특징이 UITableView와 가장 큰 차이점이라고 볼 수 있습니다. 테이블 뷰는 사용자..
오늘 진행해본 실습은 사진,동영상 촬영과 갤러리를 열어 사진/동영상을 선택하는 과정을 진행해보았습니다! 가장 쉬운 방법은 오픈소스를 이용해서 만드는 것입니다. 기본적인 UI 구성부터 해보겠습니다. 기본적으로 화면을 만들어 줍니다. 이미지 뷰와 버튼을 ViewController에 연결시켜주고, 액션을 취해줍니다. 이미지 뷰와 버튼에 모양은 변형시켜줍니다. YPImagepicker라는 오픈소스를 이용해 만들어보겠습니다. 해당 깃허브로 이동해서 install의 과정을 그대로 따라갑니다. 터미널에서 해당 파일의 경로로 이동 후, 깃허브에 작성되어있는 그대로 진행합니다. 해당 오픈소스는 카메라, 오디오, 라이브러리를 사용하기때문에 권한 설정을 해야합니다. info.plist에서 권한 설정을 추가해줍니다. 오픈소스..
IOS UIkit 앱 개발에서 NotificationCenter와 이벤트 전달에 대해 알아보겠습니다. iOS UIKit에서 Notification Center(노티피케이션 센터)를 사용하여 이벤트를 전달하는 방법은 다양한 부분에서 활용됩니다. Notification Center는 객체 간의 통신을 가능하게 하는 매커니즘 중 하나로, 하나의 객체에서 발생한 이벤트를 다른 객체들에게 알릴 수 있습니다. 아래는 노티피케이션 센터와 이벤트 전달에 대한 기본적인 내용입니다. Notification Center 기본 개념 1. NotificationCenter 생성: let notificationCenter = NotificationCenter.default 2. 이벤트 등록(옵저버 등록): notification..
스토리보드를 이용해 커스텀 팝업 다이얼로그 웹뷰를 만들어보겠습니다! 팝업 버튼 생성합니다. 그 후 새로운 스토리보드를 생성해야합니다! 팝업 버튼을 누르면, 새로운 팝업 창이 떠야하기에 새로운 스토리보드가 필요합니다! 각 레이아웃을 적절하게 설정합니다. 팝업 창에 이미지를 넣기 위해 image View를 이용합니다. 팝업 창을 imageView, Label, Button을 이용해 기본 UI를 구성해줍니다. Assets에 사용하려고 하는 이미지 파일을 넣어줍니다. CustomPopUpViewController 파일을 생성해준 후, 스토리 보드에 만든 팝업 창을 연동시켜 줍니다. 외부의 화면을 터치했을 때, 화면이 꺼지게 하기 위해 버튼을 설정해줍니다. 구독 버튼을 눌렀을때, 웹뷰로 넘어가기 위해 WebKit..
SwiftUI에서 MVVM 패턴으로 앱을 개발하기 위해서는 다양한 프로퍼티 래퍼를 활용하는게 중요합니다! 여러 프로퍼티 래퍼들에 대해 알아보겠습니다 ㅎㅎ SwiftUI의 Property Wrappers 1. @State SwiftUI에서 상태를 처리하는 방법 뷰의 상태를 저장하는 프로퍼티로 상태 관리 주체는 해당 뷰 기본적으로 Private 선언, 다른 뷰와 값을 소통하려면 Binding이용 값이 변경될 때마다 UI 업데이트 2. @Binding 뷰의 상태를 바인딩하는 방법 상위 @State 변수 전달받아 하위 뷰 캐치, 변화감지/연결 Binding은 다른 뷰가 소유한 속성을 연결하기 때문에 소유권/저장공간 X 3. ObservableObject 클래스 프로토콜로 관찰하는 어떠한 값이 변경되면 변경사항을..
SwiftUI와 UIkit 중에서 고민하시는 분들이 많으실텐데요! 이번 포스팅에서는 SwiftUI의 특징과 장점/단점에 대해 간단하게 정리해보았습니다! SwiftUI란? 특징 SWift 언어로 모든 플랫폼에서 앱에 대한 UI와 동작을 선언해주는 프레임워크 (아이폰, 아이패드, macOS, 비전OS) 상태 중심 프레임워크 Xcode 12, ios 13 이상부터 지원 Less code, Better code, EveryWhere(어디서든 적은 코드로 더 나은 앱을 개발하자) 장점과 단점 장점 선언적 구문 : 어떻게 보다 무엇을 하고 싶은지 선언하고 시스템이 선언에 따라 자동으로 처리 간결한 코드로 가독성 향상 및 유지보수 용이 손쉬운 View 조합을 통한 구현 : 레고 Modifier Chaning을 통한 ..
이번 포스팅은 간단한 스위프트 기초문법입니다 !! 자료형을 체크하고 캐스팅하기 위한 문법들입니다ㅎㅎ 스위프트에서는 다양한 방법으로 변수나 상수의 자료형을 체크할 수 있습니다. 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 {..