전체 글

    [iOS] String Interpolation

    안녕하세요 이번 블로그 내용은 사이드 프로젝트를 진행 하면서 이런것도 Extension을 통해서 설정할수 있다는 것을 알게 되어 신기하고 처음보는 내용이어서 남기고 싶었습니다. String Interpolation StringInterpolation은 말그대로 문자열 보간입니다. 저도 한국어로는 모르다가 처음으로 검색을 통해 알게 되었는데요 실제로는 저희가 코딩을 하면서 자주쓰게 되는 기능입니다. 이런식으로 자주 사용하시죠? "( ? )" 이렇게 사용하는 기능이 바로 StringInterpolation 입니다 문자열 보간에 원하는 기능을 추가하려면 String.StringInterpolation 여기에 Extension을 통해 기능을 추가해야합니다. 아래의 코드는 value로는 Int가 들어가고 원하는 ..

    [iOS]UTC Time To Date (feat. TimeZone)

    안녕하세요 오늘은 사이드 프로젝트를 하면서 저를 아주 고생시켯던 녀석을 정리해 보려고 합니다. 현재 제가 진행하고있는 사이드 프로젝트는 애플 날씨 기본어플인데요, API로 들어오는 데이터가 날씨쪽의 경우 시간과 관련된 정보는 timezone, timezone_offset, dt 이렇게 3가지가 들어오게 됩니다 날씨어플 API 요청시 Data 정보 (JSON) 요청시 가져오는 데이터의 일부분입니다. "lat": 37.5665, "lon": 126.978, "timezone": "Asia/Seoul", "timezone_offset": 32400, "current": { "dt": 1610112601, "sunrise": 1610059627, "sunset": 1610094589, 아래는 데이터의 설명입니다..

    [TIL][iOS] Retain Cycle, Weak, Unowned ( feat. ARC )

    ## Swift에서는 메모리 관리를 어떻게 할까? 기초적인 대부분의 메모리관리는 ARC가 알아서 합니다. 기본적으로 관리되는 메모리의 관계는 클래스의 객체를 가리키는 각각의 reference(참조)는 '강한참조'입니다. 최소한 하나의 '강한참조'가 존재하는한 메모리는 해제되지 않습니다. 이 최소한 하나의 '참조'가 강한참조가 아니면 메모리에서 해제됩니다. 객체 생성시 참조와 객체의 관계 다이어그램 - 마지막의 코드처럼 nil을 붙이게되면 deinit()이 호출됩니다. ( 메모리 해제시 호출됩니다.) Retain Cycle이란? 대부분의 경우 ARC가 작동해서 참조를 해제하지만 작동하지 않는 경우가 있습니다. class TestClass{ var testClass: TestClass? = nil init(..

    [TIL] 라이브러리, 프레임워크의 차이

    프레임워크 - 뼈대나 기반구조를 뜻합니다. 프로그래밍을 진행할 때 필수적인 코드, 알고리즘 등과 같이 어느 정도의 구조를 제공해주기 때문에 프레임워크를 사용하는 프로그래머는 이 프레임워크의 뼈대 위에서 코드를 작성하여 프로그램을 개발. 라이브러리 - 특정 기능에 대한 도구 또는 함수들의 집합입니다. 프로그래머가 어떠한 기능을 수행하기 위해서 도움을 주는 또는 필요한 것을 제공해 주는 역할을 하는 것이죠. 간단히 정리를 하자면 프로그램 기능 수행을 위해 활용 가능한 도구의 집합입니다. 차이 = 프레임워크는 전체적인 흐름을 자체적으로 가지고있어 프로그래머는 그안에서 필요한 코드를 작성합니다. 라이브러리는 프로그래머가 전체적인 흐름을 가지고 있어 라이브러리를 자신이 원하는 기능을 구현하고 싶을 때 가져다 사용..

    " 코더가 아닌 프로그래머가 되자 "( feat. 모각코 스터디 )

    요즘 블로그 글이 뜸했는데 사이드 프로젝트로 아이폰 기본 날씨앱을 하고있는데 이게 구성이 생각보다 힘드네요 무엇보다 그동안 쉽다고 생각했던 UI에서 가장 애를 먹고 있습니다. 제가 작은 규모(4명)로 모각코를 운영하는데 이번에 따로 앱을 만들어보면서 서로 어떤식으로 구성하는지 비교를 해보고 서로 배우자는 목표로 클론코딩을 하고있습니다. 서로서로 배우는게 목표지만 제가 가장 많이 배우고 있네요 ㅎㅎ 지금의 단계는 이제 유아아와 애니메이션을 구성하는 것만을 남겨두고 있지만 아직 제약사항을 제대로 구성하지 않아 손볼일이 많을 것 같기는 합니다. 이렇게 클론코딩을 하면서 중간중간 미팅을 하고 어떤식으로 하는지 의논을 했는데 모각코 스터디에서 한분이 진행하신걸 보니 제가 좀 놓친게 있지 않나... 라는 생각이 들..

    [TIL] iOS MVC to MVVM Refactoring

    ### 그동안 어떻게 하면 MVVM을 구성하고 API 관련 데이터는 어디에 보관해야... 데이터 포맷등등 이게 뷰컨트롤러에 포함되는지 안되는지 항상 의문이였는데 이 강의를 보면서 속이 뻥뚤린거 같네요 강의에서 기본적으로 소개해주는 것은 어떤 기능을 하는 것은 여기에 이거는 저기에 하는 명확한 위치를 알려줍니다. 또한 API를 활용한 데이터는 어디에 있어야 하는지 Model 인지 ViewModel인지 데이터를 바인딩하는 방법 4가지 MVVM의 장단점 유닛 테스트를 작성하는 방법, 실행방법 그동안 여러 MVVM을 알려주는 블로그 글을 보고 했었지만 이것만큼 좋았던 것은 없는 것 같습니다. 강추드립니다. ### 참고페이지 https://www.raywenderlich.com/6733535-ios-mvvm-tu..