networking 및 앱 보완작업

2 답변 글타래를 보이고 있습니다
  • 글쓴이
    • odyflame
      참가자
      • 글작성 : 17
      • 답글작성 : 21

      부스트코스 진행 및 fastcampus networking 수강

      부스트코스 4단원 앨범 앱 만들기

       현재 부스트코스의 4단원 앱을 만들고 있습니다.
       asset과 assetCollection을 주로 받아서 이미지를 컬렉션뷰로 보여주는 앱입니다. 처음 앱을 개발했을 당시와 달리 요즘은 다른 앱이나 예제 파일들을 보면서 그루핑과 mvvm 모델로 짜는 형식을 많이 보고 분석을 하고 있습니다. 현재 한번 리뷰를 받은 상태이고, 좀 더 보완해서 다시 제출을 할 예정입니다.
       제작한 앱을 리뷰받으면서 가장 많이 리뷰를 받은 곳은 바로 옵셔널 처리입니다. 처음에 옵셔널을 별로 중요하게 생각하지 않았는데 옵셔널을 해 주는 것이 중요하다는 것을 알게 되었습니다. 예기치 못한 상황인 경우, 옵셔널이 제대로 선언이 안 되어 있을 경우, 이때 앱이 크래시가 나는 상황이 많이 일어난다고 하는데, 이 옵셔널을 주의해서 꼭 선언해 주어야 할 것 같습니다.
       

      fastCampus networking 수강

      fastCampus iOS 올인원 강의를 수강중입니다. 
      기초를 더 다지기 위함과 동시에 같은 내용이라도 한 번 더 공부해야겠다는 생각으로 수강중입니다.
      이번 주에는 netWorking에 관하여 공부했습니다.
      우리는 swift를 사용하면서 http 통신을 할 상황에 많이 놓이게 되는데 이때 필요한 것이 바로 urlsession이라고 할 수 있습니다. 

      URLSession은 먼저 URLSessionConfiguration을 통해서 URLSession을 신청할 수 있고, 이 URLSession은 여러 개의 URLSessionTask를 만들 수 있습니다. 또한 delegate를 통해 중간 과정을 확인할 수 도 있습니다.
      URLSessionTask도 작업에 따라 세가지로 나누게 되는데 URLsessionDataTask, URLSessionUploadTask, URLSessionDownLoadTask 등이 있고, 경우에 따라 사용하면 됩니다.

      즉 iOS에서 네트워킹을 하기 위해서는 URLsession을 사용하고, URLSessionConfiguration을 사용해서 생성해야 하고, 생성된 URLSession에서 실제로 작업을 하기 위해서는 URLSessionDataTask를 사용한다는 점이 됩니다.

      또한 urlsession에서 dataTask를 하는 상황이 오면 이것을 아주 편하게 우리가 사용할 struct로 바꾸어 주는 codable을 사용하면 손쉽게 개발을 할 수가 있습니다.

      struct Todo: Codable {
          let id: Int
          var isDone: Bool
          var detail: String
          var isToday: Bool
          
          enum codingKeys: String, codingKey {
          case isDone, detail, isToday
          case id = "Todo_id"
          }
      }
      

      후기

      최근에 허리가 갑자기 아파져서 병원에 갔었는데 아마 오래 앉아있으면서 스트레칭을 안 해서 그렇다고 하더라.. 꼭 한시간 앉았을 경우에는 좀 일어서서 걷거나 스트레칭을 하는 습관을 모두 키우는 것이 중요할 것 같습니다. 저도 그냥 좋지 않은 자세로 있던 게 탈이 된 것인지 일주일 정도 아무것도 못하고 누워만 있어야 했습니다… 그렇지 않으면 엄청 고생을 할 가능성이 커지니 적당히 하는 것이 매우 중요합니다

    • 야곰
      키 마스터
      • 글작성 : 37
      • 답글작성 : 580

      돈벌어서 모두 병원에 갖다주지 않도록 몸관리 잘 해야합니다… 또륵…
      URLSessionDataTask 말고도 URLSessionTask에는 데이터, 다운로드, 업로드 등 다양한 종류의 태스크가 있습니다.

    • odyflame
      참가자
      • 글작성 : 17
      • 답글작성 : 21

      http 통신을 위해서는 중요한 파트엿습니다.. 감사해요 야곰님도 건강 잘 챙기세요! 

2 답변 글타래를 보이고 있습니다
  • 답변은 로그인 후 가능합니다.

logo landscape small

사업자번호 : 743-81-02195
통신판매업 신고번호 : 제 2022-충북청주-1278 호
고객센터 : 카카오톡채널 @yagom