본문 바로가기

Swift/All

(5)
Combine 기본 사용법 정리 - Publisher import Combine class SomeObject { var vsalue: String = "" { didSet { print(vsalue) } } var asdfasdf: String = "" { didSet { print(asdfasdf) } } } let someObject = SomeObject() let publisher = ["울릉도", "동남쪽", "뱃길 따라 이백리"].publisher _ = publisher.assign(to: \SomeObject.asdfasdf, on: someObject) //위 아래 두 개 다 같은거 _ = publisher.assign(to: \.asdfasdf, on: someObject) 근데 publisher는 애초에 정해진 값..
class의 배열만들기(약한 참조 하는 배열, weak array) 개발을 하다보니 class의 배열을 만들 일이 생겼다 정확히는 ViewController(이하 VC)의 배열을 만들고 deinit될 때는 해당 배열에서 없어져야 했다 딱 생각나는 방법이 두 가지가 있었는데 1. 해당 VC가 deinit될 때 배열에서 remove해주기 2. 해당 VC가 deinit되야 하는'곳'(예를 들변 pop되는 곳) 에서 remove해주기 딱 봐도 2번같은 경우에는 메모리가 해제되어야 하는 모든 부분을 알고 대응하기 어렵기 때문에 1번의 방법으로 가기로 했는데 이게 왠걸...? 너무나 당연한 얘기지만 배열에 VC가 추가되면서 참조를 하고 있기에 deinit이 호출이 안된다 ㅋ 그래서 생각난게 '약한 참조를 하는 배열을 만들면 되지 않을까? 근데 그걸 어케하지;;' -> 구글링 htt..
xcode 여러개 사용하는 방법(xcodes) Xcodes - Manage multiple versions of Xcode Download Xcode easily with a mouse click or a Command Line Interface www.xcodes.app xcodes라는 프로그램을 이용하면 한 컴퓨터에 xcode 두 버전을 설치해 이용할 수 있다 "굳이 왜 그러시죠?" 라고 물으신다면 나는 xcode 15.0.1버전을 쓰고 있는데 github action 같은 경우는 14.2버전으로 빌드된다 허나 15.0.1에서는 에러가 아닌데 14.2에서는 에러인 경우가 있어 더블 체크를 위함도 있고 최신 버전의 xocde에서 오류가 나는게 이전버전에서 말짱 하기도 하고 여튼 그런 경우에 쓴다 ㅋ
mac Sonoma에서 xcode 14버전 대 실행시키는 법 xcode 여러개 사용하는 방법(xcodes)Xcodes - Manage multiple versions of Xcode Download Xcode easily with a mouse click or a Command Line Interface www.xcodes.app xcodes라는 프로그램을 이용하면 한 컴퓨터에 xcode 두 버전을 설치해 이용할 수 있다 "굳이 왜 그러dev-doogie.tistory.com위 글을 확인하면 한 맥북에서도 xcode 여러 버전을 돌릴 수 있다 하지만...!mac os가 Sonoma로 넘어오면서 14버전 대 xcode 실행이 안된다사실 14버전 다 안되는건지는 몰?루 암튼 14.2는 실행 못시킨다그렇다고 mac os를 다운그레이드 시키기에는 나에게 남은 시간은 너무..
Github Action을 이용한 CI-CD (트러블 슈팅들...까지) 테스트앱을 배포할 때 매번 아카이브 하고 올리고 내용을 슬랙에 공유하고 하는게 귀찮아서 dev branch에 mergey가 되면 testflight에 올라가고 자동으로 슬랙에 공유되는 형식을 구현하고자 CI-CD를 구현하고자 했다 그 중 Github action을 사용하기로 결정한 이유는... 솔직히 "제일 간편하게 세팅 할 수 있어서" 이다 포스팅 읽기 전 주의 사항...1. 일단 가장 하단에 최종 workflows를 작성해두긴 할건데 중간에 작성한 workflows코드는 최대한 최종본으로 반영하려고 했으나 포스팅을 하면서 계속해서 수정된 코드이기에 최종본하고 다른 부분이 있을 수 있음 2. 하단에 트러블 슈팅 있는데 장담컨데 모든 블로그에서 다룬 트러블 슈팅보다 많을듯... ㄷㄷ(본인이 멍청하다 이말..