야곰

게시판 답변

13 답변 글타래를 보이고 있습니다
  • 글쓴이
    • 야곰
      키 마스터
      • 글작성 : 37
      • 답글작성 : 552
      19,970 포인트

      이벤트를 전달해주는 방식이 고민이라고 한다면
      Notification Center 혹은 KVO, Property Observer 등을 참고해볼 수 있을것 같습니다.

    • 야곰
      키 마스터
      • 글작성 : 37
      • 답글작성 : 552
      19,970 포인트

      중고장터에서 MacBook Air 2020, M1 기본사양(8GB, 256GB)을 구입하셔도 학습용으로 충분합니다.
      80~90만원 선인거 같은데.. 이럴거면 새것 구매하는게 나을거 같기도 해요;;
      새것으로 구매하려면 애플 홈페이지나 애플 스토어에서 129만원에 판매하고 있네요.

      어쨌든 기초 학습용으로는 M1 맥북에어 기본형으로도 가능합니다. 같은 RAM 8GB여도, 차원이 다릅니다. 그냥 다른 기계예요.

      다만, 참고할만한 내용으로는 갖고계신 인텔 맥북과는 다르게 M1 맥북에서는 윈도 설치(부트캠프 또는 가상 머신 등)가 불가합니다.
      오래 학습할 요량이라면 렌탈 하는것보다는 중고로 구매해서 사용하다가 중고로 내보내는게 더 저렴할때가 많아요.
      중고로 사용하다가 자신에게 필요한 성능을 확인할 수도 있구요.

      avataravatar
    • 야곰
      키 마스터
      • 글작성 : 37
      • 답글작성 : 552
      19,970 포인트

      Human Interface Guidelines에 참고해 볼만한 내용이 많이 있을것 같아요.
      Adaptivity and Layout
      Split Views

      이 외에도 H.I.G.는 잘 살펴보면 도움되는 내용이 많을거예요.

    • 야곰
      키 마스터
      • 글작성 : 37
      • 답글작성 : 552
      19,970 포인트

      h*******ng2**8@gmail.com
      으로 구글로그인 가입되어 있습니다 🙂

      avatar
    • 야곰
      키 마스터
      • 글작성 : 37
      • 답글작성 : 552
      19,970 포인트
      1. dynamic dispatch를 사용하는 것이 꼭 서브 클래스의 오버라이드가 있다는 것을 의미하지는 않습니다.
      2. AVCaptureDevice는 Objective-C 코드로 구현되어 있는데, 우리가 작성하는 Swift 코드는 @objc dynamic을 명시해주지 않으면 컴파일러가 컴파일 중 최적화를 거쳐 static dispatch로 전환할 가능성도 있기 때문에 명확히 dynamic dispatch를 활용하기 위해 attribute를 지정해줍니다.
        WWDC의 Understading Swift Performance 세션을 살펴보면 조금 더 도움이 될 것 같습니다.
    • 야곰
      키 마스터
      • 글작성 : 37
      • 답글작성 : 552
      19,970 포인트

      애플의 튜토리얼 중 UIKit 부분을 따라해보면서 문서 중간중간에 소개된 링크만 제대로 공부해도 무리 없을겁니다.
      굳이 RxSwift를 하는건… 또 기본 UIKit을 익히는 것에서 돌아가는 길이기 때문에.. 애초에 UIKit 부터 해보는게 좋다고 생각합니다만, 정답은 없습니다.
      현업에서 UIKit은 기본, Rx는 하면 좋고 수준이며, SwiftUI는 지금 시점에 당장 적극적으로 활용하고 있는 기업은 수가 많지 않고, 레거시 코드 또한 대부분 UIKit으로 구현되어 있으므로, UIKit 먼저 공부하는게 순서라고 생각합니다.

      avatar
    • 야곰
      키 마스터
      • 글작성 : 37
      • 답글작성 : 552
      19,970 포인트

      아니요

      avatar
    • 야곰
      키 마스터
      • 글작성 : 37
      • 답글작성 : 552
      19,970 포인트

      디자이너에게 px가 아니라 pt 단위로 달라고 하는것이 가장 좋습니다.
      그렇지 않으면 기기에 따라 2배, 3배 비율이므로 말씀하신대로 px을 2, 3의 수로 나누면 됩니다만, 단순히 나눠서 되진 않을지도 몰라요. 스케일링도 되는지라…

      아래 두 링크를 참고하시면 될 것 같습니다.

      avataravatar
    • 야곰
      키 마스터
      • 글작성 : 37
      • 답글작성 : 552
      19,970 포인트

      iOS Human Interface Guidelines에 따르면 같은 방향의 스크롤 뷰를 한 화면에 넣는 것을 지양하라고 안내하고 있습니다.
      또, 스크롤뷰를 중첩해서 사용하지 않을 것을 권합니다.
      테이블뷰는 스크롤뷰이기 때문에 인접 스크롤뷰와 같은 방향으로 구현하거나 중첩하는 것은 좋지 않아요.
      꼭 필요하다면 Table View의 Header나 Footer를 활용하는 등의 다를 방법을 고민해 보는것이 좋겠습니다.

      avatar
    • 야곰
      키 마스터
      • 글작성 : 37
      • 답글작성 : 552
      19,970 포인트

      스토리보드 사용 여뷰는 팀마다 다 다릅니다.
      각 팀마다 구현하는 UI의 성격도 다르고, 취향도 다르니까요. 어떤것이 더 우세하다 단정짓기는 어렵습니다.
      Objective-C는 레거시 코드 외에 새로운 기능 개발에는 거의 사용하지 않습니다.

      avatar
    • 야곰
      키 마스터
      • 글작성 : 37
      • 답글작성 : 552
      19,970 포인트

      코드의 전체적인 구조와 목적을 완벽하게는 모르겠지만, 저 방법대로 구현하고 싶다면 PostItem을 class로 정의해야 할 것 같아요.
      PostItem을 클래스로 정의하지 않은 이유가 따로 있을까요?

    • 야곰
      키 마스터
      • 글작성 : 37
      • 답글작성 : 552
      19,970 포인트

      라이브러리를 직접 가져오는 것은 아니고 의존관계를 만들어주어야겠죠.
      만약 안불러와지면 빌드 한 번 하거나 pod install 다시 해보셨나요? master repo 다시 받아와봐야 할수도 있고요.

      avataravatar
    • 야곰
      키 마스터
      • 글작성 : 37
      • 답글작성 : 552
      19,970 포인트

      구형 단말기의 iOS 버전이랑, 지금 Xcode 버전이랑 Deployment target 등의 정보가 있으면 더 도움이 될 것 같아요.

      avatar
    • 야곰
      키 마스터
      • 글작성 : 37
      • 답글작성 : 552
      19,970 포인트

      스위프트에서 프로퍼티는 이니셜라이즈 과정에서 값이 꼭 존재해야 한다는 규칙이 있습니다.
      https://docs.swift.org/swift-book/LanguageGuide/Initialization.html

      그런데 인스턴스를 생성하는 과정에서 값을 초기화해주지 못하는 프로퍼티가 있다면 옵셔널을 활용해서 프로퍼티를 선언해줍니다. 그러면 이니셜라이즈 과정에서 초기화하지 않아도 nil 이 자동으로 할당되거든요.
      그렇지만 이 인스턴스가 제대로 동작하기 위해서 꼭 필요한 값이라면 사용 전에 이 값을 꼭 할당해달라는 의미로 암시적 추출 옵셔널(!)로 선언할 수 있습니다.

      말씀하신대로 처음부터 초기화하고 사용할 수 있다면 옵셔널을 사용하지 않아도 됩니다.
      또, = nil 을 하지 않아도 자동으로 nil이 할당되어 초기화됩니다.

    • 야곰
      키 마스터
      • 글작성 : 37
      • 답글작성 : 552
      19,970 포인트

      Value Type과 Reference Type의 활용과 특성에 대해서는 이해하고 계실까요?
      만약 잘 모르고 계신다면 call by value, call by reference에 대한 이해가 선행되면 훨씬 더 좋을것 같습니다.
      만약 정말로 제대로 이해하고 계시다면, 저라면 저 상황에 구조체가 아니라 클래스를 선택하거나 enum의 사용대신 다른 방법을 찾아볼 것 같습니다.
      프로토콜을 활용해 보는 것도 좋은 방법이 될 수 있지 않을까 싶기도해요.
      Protocol Oriented Programming에 대해 공부해보는 것도 좋고요.
      방법은 다양하니, 저 방식으로 잘 해결이 안된다면 다른 방식을 강구해보는 것도 좋을것 같습니다.

13 답변 글타래를 보이고 있습니다

logo landscape small

사업자번호 : 260-27-00477
통신판매업 신고번호 : 제 2020-충북청주-0663 호
고객센터 : 카카오톡채널 @yagom