iyOmSd 179

[RxSwift] RxDataSource TableView Cell타입별 그리기

하나의 TableView안에 위처럼 다양한 CellType을 적용해야할 때가 존재해요 그럴때 RxDataSource를 이용해서는 어떻게 처리하나~ 에대해서 한번 알아보겠습니다 먼저 CellModel을 만들어볼거에요 // MARK: - Cell Model struct TestSection { var items: [Item] } enum TestItem { case aCell(ACellModel) case bCell(BCellModel) case none } extension TestSection: SectionModelType { typealias Item = TestItem init(original: TestSection, items: [Item] = []) { self = original self.it..

[Swift] cannot find type 'class' in scope 에러

이런 에러를 가끔 만날 수 있는데 이 에러를 해결하는 방법으로는 1. 클린빌드 + 다시빌드 커맨드+쉬프트+K 를 눌러서 클린빌드를 하고 다시 커맨드 + B를 눌러서 빌드해서 Xcode에 반영이 안돼서 에러난 경우를 막을 수 있어요 이 방법으로도 해결되지 않았다?! 2. target설정 그러면 타겟을 한번 확인해보면 좋을것 같아요 커맨드+옵션+0(숫자) 를 누르면 오른쪽 메뉴창이뜰거고 뷰컨트롤러는 target설정이 잘되어있지만 AClass파일은 target이 빠져있는게 보이죠?? 타겟을 설정해주면 그 파일안에 있는 클래스에 잘 접근 할 수 있씁니다!

iyOmSd/Title: Swift 2021.09.09

[RxSwift] Filtering Operators

ignoreElement() 모든 next이벤트를 무시함 하지만 completed error같은 중지이벤트는 허용함 example(of: "ignoreElements") { let strikes = PublishSubject() let disposeBag = DisposeBag() strikes .ignoreElements() .subscribe { _ in print("You're out!") } .disposed(by: disposeBag) strikes.onNext("X") strikes.onNext("X") strikes.onNext("X") strikes.onCompleted() } --- Example of: ignoreElements --- You're out! element(at:) 해당 ..

[Swift] WWDC17 Advanced Animations with UIKit

애니메이션에 대한 몇가지 기본적인 것과 애니메이션은 어떻게 동작하는지 다루고 현대적 기법을 사용해서 애니메이션을 Interactive으로 만들어서 중단시키는 방법에 대해 논의하고 iOS11에서 제공하는 새로운 API에 대해 이야기하는 세션입니다! 그리고 애니메이션을 Coordinating하는 방법을 보일것이고 마지막으로 몇가지 팁과 트릭, 그리고 기술을 검토하여 훌륭한 애니메이션을 만들 수 있도록 도와준다 합니다 목차 Basic Interactive and Interruptible Animations New Property Animator Behaviors Coordinating Animations Tips and Tricks Basic X의 위치를 0에서 100으로 만들기위해 할 수 있는 방법은 UIV..

iyOmSd/Title: Swift 2021.08.29

[Swift] WWDC21 Analyze HTTP traffic in Instruments

애플에서 추천해주기까지하는 네트워크 트래픽을 검사하는 툴이있어요 https://developer.apple.com/documentation/network/taking_advantage_of_third-party_network_debugging_tools Apple Developer Documentation developer.apple.com 저도 Charles를 쓰는데요 ㅎㅎ Xcode13 부터 이젠! 자체적으로 만들었고 이것을 이용해서 트래픽을 검사할 수 있다를 소개하는 세션입니다! 사용방법은 Product → Profile → Network 에서 사용할 수 있는 기능입니다 분명.. 릴리즈 노트를 보면... 시뮬레이터에서 이제 사용할 수 있다면서...ㅠ 베타 3버전에서는 안돼던게 돼는건 맞는데 기록이 ..

iyOmSd/Title: Swift 2021.08.07

[Swift] WWDC21 ARC in Swift: Basics and beyond

ARC에서 생길수 있는 객체생명주기에 따른 버그가 일어날 수 있는 상황을 알아보고 해결하는 방법을 제시하고 Xcode의 새로운 기술을 소개해주는 세션이에요 목차는 2개에요 Object lifetimes and ARC - 객체의 수명과 ARC Observable object lifetimes - 객체수명에 따른 버그문제 해결방법 Class는 Swift에서 참조유형이며 사용을 결정하면 Swift는 자동으로 참조카운트 또는 ARC를 통해서 메모리를 관리해요 Object lifetimes and ARC 아래와같이 객체 수명과 ARC에 대해 설명합니다 객체의 lifetime은 initialization에서 시작하고 마지막으로 사용할때 끝 ARC는 수명이 끝난후에 객체를 해제하여 메모리를 자동으로 관리 레퍼런스 카..

iyOmSd/Title: Swift 2021.07.24

[Swift] WWDC21 Meet Group Activities

이번에 WWDC를 보면서 기대되는 기능중 하나였어요 SharePlay! 페이스타임 할 때 화면공유 기능이죠 모두와 같이 볼 수 있고 그 화면에 접근 할 수도 있죠 Session GroupActivity를 하기전에 모든 사람들이 공유할 준비가 되야하고 세션에 들어오면 메시지와 텍스트, 오디오 및 비디오를 통신할 수 있어요 GroupActivity를 통해서 iOS, iPadOS, MacOS에서 작동하는 통합환경을 구축하고있고 WebKit을 사용하는 웹사이트에서도 사용할 수 있다고하네요 만약 아직 일어나지 않은 일을 보고 친구들이 웃고있다고 생각해봐라! 스포일러 경고..! 이러한 상황이 나오지 않게 AVFoundation에 완벽하게 통합된 재생 동기화 프로토콜을 구축했다네요 누군가가 재생을 누르면 그룹내의 모..

iyOmSd/Title: Swift 2021.07.11

[Swift] Shadow 그림자그리기

그림자를 구현할 때 헷갈려했던 기억이있어서 더 공부해보면서 정리를 해보려고해요! 그림자를 구현할때 사용할 속성으로는 CALayer에 있는 프로퍼티 5개를 사용해서 구현하구요! shadowColor: 그림자색 지정(디폴트 검정색) shadowOpacity: 그림자 투명도 지정(0 ~ 1) shadowRadius: 그림자의 블러 정도 지정 (0일때 선같이 진한 그림자 높을 수록 퍼지는 효과) shadowOffset: 그림자의 위치(기본 0,0 -> 부모의 위치를 따라감) shadowPath: 그림자의 모양을 커스텀 가능(디폴트 nil) 이때 layer의 masksToBounds값을 True로하면 그림자가 안보이니까 주의하세요! (기본값 false) 뷰 범위밖에 보이는 것들을 보이지 않게하겠다~ 라는 뜻입니다..

iyOmSd/Title: Swift 2021.07.08

[SwiftUI] Widget 위젯만들기

한번 만들어봐야지 생각만하고 해보지못했던 위젯을 드디어 만들어 보려고합니다~~ 평소에 iOS프로젝트 생성하듯이 빈프로젝트를 만들고 Target을 선택하면 ~~Extension이 많이보여요 그중에서 이번에 할 것은 위젯이니까 찾아서 클릭! 위젯이름 넣어주고 만들면 Active하겠냐고 묻는거 확인누르고! 이제 위젯이 만들어졌어요! 빌드하면 제가 방금만든 위젯이 보일거에요 위젯에는 3가지 요소가 중요해요 WidgetConfiguration: 위젯 식별 및 위젯의 Content표시 Provider: 시간에 따른 위젯 업데이트 로직 EntryView: 위젯을 표시하는 View 처음으로 구현되어있는 코드를보면 Widget코드! @main struct NSWidget: Widget { let kind: String ..

[Swift] WWDC 21 Customize and resize sheets in UIKit

오랜만에 포스팅이네요! 일이 많아서... 한달..공백이..ㅠ 이번에 볼 게시글은 밑에서 올라와서 반만 보여지는 뷰?? 그런 걸 바텀시트라 부르는것 같아요 그러한 뷰를 힘들게 커스텀해서 띄우는 작업을 했을텐데 이제는! UISheetPresentationController를 이용해서 바텀시트를 띄울 수 있는 방법을 제시해줘요 보통 present형식을 이용해서 간단하게 구현할 수 있어요 WWDC2021에서 소개됬기때문에 iOS15+ 구요 ㅎㅎ 코드를 보면서 하나씩 살펴갈게요~~! guard let nextVC = storyboard?.instantiateViewController(withIdentifier: "ViewController") else { return } nextVC.view.backgroundC..

iyOmSd/Title: Swift 2021.06.28