일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
31 |
- 클러스터링
- 먹튜브로드
- Firebase
- 음식지도
- clustering
- 프로퍼티 종류
- 먹튜브
- property
- 음식리뷰앱
- SwiftUI
- vm
- 네이버지도
- IOS
- 1002
- MVVM
- JJGram
- 섯다족보
- 먹방지도
- quadtree
- acmicpc
- Oracle
- cluster
- MeTal
- 백준
- Swift
- NaverMap
- 섯다족보앱
- 프로퍼티
- xcframework
- StaticLib
- Today
- Total
목록iOS (17)
아반떼오우너의 개발블로그 ㅋㅋ
Swift에는 프로퍼티라는 개념이 있다. 흔히 타 언어에서 말하는 지역변수라는 개념으로 보면 되는데, 프로퍼티의 종류에는 크게 5가지로 분류가 가능하겠다. 1. 저장 프로퍼티 2. 지연 저장 프로퍼티 3. 연산 프로퍼티 4. 타입 프로퍼티 5. 프로퍼티 옵저버 각각의 종류에 대해서 간단하게 정리해본다. 1. 저장 프로퍼티 저장 프로퍼티는 가장 일반적인 프로퍼티이다. 말 그대로 값을 저장하는 용도로 사용되는데, 초기값을 설정할수있고, 클래스 구조체에서는 인스턴스와 연관된 값을 저장한다. let name = "HeoKyuJin" var age = 30 2. 지연 저장 프로퍼티 지연 저장 프로퍼티는 프로퍼티가 최초로 사용되기 전까지 초기값이 계산되지 않는 특징을 가진다. lazy키워드를 앞에 붙여 사용할수있고..

개인앱중 Then을 사용하는 앱이 있다. 이 Then을 쓰다보면 객체 할당할때 코드 몇줄이라도 줄여주는거에 맛들려서 네이티브로 선언하는걸 점점 안쓰게 되는것같다. 그러다 최근에 회사에서 스터디할때 내차례가 와서 어떤걸 발표해볼까.. 하다가 자주쓰는 Then에 대해 고찰을 해보기로 했다. 사실 Then의 사용법이 엄청나게 어려운건 아닌건 모두가 아는 사실이라.. 이걸 발표로 했다간 발표가 5분컷이 날거같아서 좀더 살을 붙여볼까 고민을 하다 Then이 어떻게 구현되었는가!에 대해서 얘기해보면 좀 유익한 시간이 되지 않을까하여 Then 코드를 열어보았다. 오늘은 이 얘기를 한번 해볼까 한다. 우선 Then에대 간단히 정리를 한번 해본다. 1. Then? Then은 너도알고 나도아는 '전수열'님이 만드신 인스턴..

일반적으로 StaticLibrary를 빌드하게 되면 ARM / X86와 같이 용도에 따라 각각 빌드를 하게 된다. 그래서 각각 빌드된 두가지 .a을 모두 앱에 일일이 Import 시켜줘야하고, 이에따라 Path도 따로 잡아줘야한다. 그러나 Apple 생태계에는 XCFramework라는 개념이 존재하는데, 이것을 이용하여 우리는 하나의 Framework로 만들어서 마치 하나의 라이브러리를 사용하는것처럼 작업하면서 실제 두가지 아키텍쳐 모두 사용이 가능하도록 할수있다. 그래서 한단계씩 진행하면서 어떻게 이 XCFramework라는것을 만드는지 정리해보았다. 아래내용은 이 블로그에서 나온 내용을 기반으로 작성하였음. https://anuragajwani.medium.com/how-to-build-univers..
https://apps.apple.com/us/app/%EB%A8%B9%ED%8A%9C%EB%B8%8C%EB%A1%9C%EB%93%9C/id1610995698 먹튜브로드 '저번에 XXX가 리뷰했던 가게가보고 싶은데 위치가 어디지..?' 항상 이런 고민을 가지고 있었던분들의 고민을 해결해줄수있습니다! 음식점 리뷰 유튜버들이 리뷰한 가게 위치가 궁금하다면 이 apps.apple.com 현재 네이버지도 iOS / Android API 에서 클러스터링 기능을 지원하지는 않는다. 아마 이유가 있겠지만 지도를 사용하는 입장에서 있었으면..하는 기능이긴하다. 내가 저앱을 만들당시 Git이나 어디서도 라이브러리로 만들어진것을 찾질 못하여서 한번 만들어봤다! 전체적인 알고리즘은 GoogleMap에 적용된 내용을 참고..

이전글에서 GoogleMap 클러스터링을 대신할 네이버지도 클러스터링을 구현했었다고 글을 썼었다. 이유는 GoogleMap도 분명 좋은 기능이고 클러스터링 기능을 지원하는 OpenSource도 있어서 편한점이 있었지만 한국의 특성상 유저들이 네이버지도에 더 익숙하기도 하고, 개발자는 나로서도 구글맵보다는 네이버맵이 더 눈이 익숙하였다. 그래서 네이버맵으로 변경을 시도하였으며 그 과정에서 구글맵의 클러스터링 알고리즘을 간략하게나마 알게 되었다. 해당 포스팅은 내가 그 코드를 읽어보고 느낀것들을 간략하게 정리하는 글이다. 아래 내용이 적용된 앱은 아래와같다. 한번정도는 받아주시면 감사합니다. https://apps.apple.com/kr/app/%EB%A8%B9%ED%8A%9C%EB%B8%8C%EB%A1%9..

https://apps.apple.com/us/app/%EB%A8%B9%ED%8A%9C%EB%B8%8C%EB%A1%9C%EB%93%9C/id1610995698 먹튜브로드 '저번에 XXX가 리뷰했던 가게가보고 싶은데 위치가 어디지..?' 항상 이런 고민을 가지고 있었던분들의 고민을 해결해줄수있습니다! 음식점 리뷰 유튜버들이 리뷰한 가게 위치가 궁금하다면 이 apps.apple.com 나의 먹튜브로드앱은 지도를 GoogleMap을 이용하고 있었는데 역시 한국 한정으로는 구글맵보다는 네이버맵이 더 가독성이 좋은듯 하다. 분명 구글맵도 구린건아닌데.. 뭔가.. 뭔가 한국내에서는 네이버의 지도가 더 잘보이는 느낌이 든다. 그래서 해당 지도API들로 클러스터링을 적용하려 했는데.. 네이버에서는 Web에서만 클러..

앱 개발을 하다보면 Memory Leak이 심심찮게 발생하는경우가 있는데 이는 찾기도 힘들고 상황에 따라 재현하기도 어려워서 생각보다 속을 썩이는 경우가 많다. 오늘은 내가 실제 경험한 Leak들을 정리해보고 다음에 이런 케이스를 피하고자 정리해본다. 1. CollectionViewCell의 클로저에서 CollectionView 참조시 발생하는 Leak. Cell에 클로저 동작을 추가하는 경우, 심심찮게 CollectionView를 리로드 하는 등 CollectionView를 참조할 일이 생기는데 이때 클로저내에서 바로 참조하면 Cell과 CollectionView가 서로 참조가 엮여 Cell이 메모리 해제되지않는 경우가 생긴다. 이를 해결하기 위해서 아래와같이 클로저 내에서 weak로 Collectio..

App 개발시 간단한 앱의 경우 MVC를 사용하는 경우가 많다. 간단한 기능의 경우 로직등을 처리하는 Model이 크지 않기 때문인데 만약 기능이 추가되어 Model이 커진다면 이를 제어할 Controller로 같이 커져서 여러모로 유지/보수에 문제가 생긴다. 그래서 예전부터 조금씩 개인앱에 MVVM 패턴을 적용하고 있는데 이를 한번 정리하기위해 포스팅을 쓴다. 우선 전체코드는 아래의 Github에 올려놓았다. https://github.com/manunite/iOS_MVVM_Example 1. MVVM MVVM을 사진 한장으로 요약하면 아래와 같다. 기존 MVC의 경우 View를 업데이트하려면 Controller에 요청하고, Controller는 View와 Model을 모두다 보고있어서 적절한 로직으로..