뭐라도하는봉
close
프로필 배경
프로필 로고

뭐라도하는봉

  • 분류 전체보기 (55)
    • Retrospect (15)
    • I'm Domain (1)
    • I'm Tech (0)
    • Personal Study (0)
    • Apple Developer Acadamy (0)
    • iOS (38)
      • Swift (19)
      • SwiftUI (4)
      • UIKit (14)
    • Developer (1)
    • CS (0)
  • 홈
  • 태그
  • 방명록
[iOS/Swift] 네트워크통신 - 데이터를 Class가 아닌 Struct형태로 받는 이유

[iOS/Swift] 네트워크통신 - 데이터를 Class가 아닌 Struct형태로 받는 이유

HTTP 프로토콜을 이용해 서버와 통신하는 경우, 클라이언트쪽에서는 서버에서 받은 데이터를 가공해서 사용해야 한다.이 과정을 디코딩이라고 하는데, 보통 Swift에서 데이터를 받는 그릇으로 struct로 만드는 편이다.그러니까, 서버에서 String형태로 오는 데이터를 struct에 담아 가공해서 데이터를 사용하는 방식이라고 생각하면 된다. 그러다보니 이런 궁금증이 생겼다."왜 class가 아닌 struct로 받는거지?" 이번 글에서는 iOS의 네트워크통신과, struct/class의 차이점을 알아보겠다.iOS의 네트워크통신클라이언트가 서버에게 "이런 데이터 가져다줘!"라고하고, 서버가 해당 데이터를 응답으로 주는걸 보통 "네트워크 통신을 한다"고한다.이러한 정보 요청에 대한 기준을 API라고 하며, 그..

  • format_list_bulleted iOS/Swift
  • · 2025. 1. 13.
  • textsms

[iOS/Swift] Any와 AnyObject - 모든 타입의 값을 포함할 수 있는 타입

Swift로 개발을 하다보면 Any라는 타입을 만나게 된다.예를 들어 어떤 배열의 타입이 Any라면 그 타입에는 어떤 타입이든 들어올 수 있다는걸 뜻한다. 이 글에서는 Any타입의 특징과, 이와 비슷해보이는 AnyObject에대해 알아보도록 하겠다.Any타입의 특징Any타입을 담을 수 있는 배열에는 모든 타입이 들어올 수 있다.var somethings: [Any] = []somethings.append(true)somethings.append(iPhone) // 직접 만든 클래스의 인스턴스somethings.append("something")개발자문서에 따르면 Any타입에 포함될 수 있는 타입은우리가 알고있는 Int, String, Bool타입 등 기본 타입 뿐 아니라 튜플, 클로저 또는 함수타입까지 ..

  • format_list_bulleted iOS/Swift
  • · 2025. 1. 10.
  • textsms
[iOS/UIKit] awakeFromNib과 prepareForReuse - 셀의 재사용 원리

[iOS/UIKit] awakeFromNib과 prepareForReuse - 셀의 재사용 원리

TableView나 CollectionView에서 CustomCell을 XIB로 생성하게 되면 awakeFromNib()이라는 메서드가 생기게 된다.쉽게 이 함수의 역할을 설명하자면 ViewController에서 viewDidLoad의 역할과 비슷하다고 생각하면 된다. cell의 디자인을 해당 함수에 적용시켜놓으면 cell이 로드될때 보이게 된다. 이번 글에서는 awakeFromNib이 호출되는 시점과 prepareForReuse이 필요한 이유에 대해 알아보도록 하겠다. awakeFromNib의 호출시점원래 셀의 디자인과 데이터에 관련된 코드를 ViewContoller의 `tableView(_ tableView: , cellForRowAt indexPath: )`메서드에서 호출해서 사용했었다. 그러나, ..

  • format_list_bulleted iOS/UIKit
  • · 2025. 1. 8.
  • textsms
[iOS] 프로비저닝 프로파일(Provisioning Profile)과 코드 사이닝(Code Signing) - 앱 출시를 위한 보안상식

[iOS] 프로비저닝 프로파일(Provisioning Profile)과 코드 사이닝(Code Signing) - 앱 출시를 위한 보안상식

iOS 앱을 출시하기 위해서는 애플 개발자 계정이 있어야 하며, 이를 위해 무려 129,000원을 매년 내야 한다.만약 출시를 한 이후에 결제 갱신을 하지 않는다면 앱스토어에서 앱이 내려가는 불상사를 겪을수도 있다. 그렇다면 우리는 왜!!! 이 거금을 매년 주면서 개발자계정을 갱신해주어야 할까?예상컨데 애플의 보안정책과 관련이 있을것이다.즉, 앱스토어에 앱을 출시하려면 그 개발자가 "신뢰할 수 있는 사람인가?"가 애플한테 가장 중요할것이다.만약 별다른 조건 없이 앱을 출시할 수 있었다면, 악의를 가진 개발자가 악성코드를 심어서 배포할수도 있는 상황도 충분히 일어날 수 있다. 그러니까 애플은 "신뢰할 수 있는 개발자인가?"를 확인하기 위해 개발자 계정을 유지해야 한다는 조건을 마련한 것 같다.물론, "돈을..

  • format_list_bulleted iOS
  • · 2025. 1. 4.
  • textsms
[iOS / UIKit] Unwind - 맨 처음 뷰로 돌아가기

[iOS / UIKit] Unwind - 맨 처음 뷰로 돌아가기

FullScreenModal 등으로 화면이 꽉 찬 상태에서 이전 뷰로 돌아가고 싶을 때 다양한 방법이 있을 수 있다.만약 present로 모달이 올라오게 코드로 작성한 상황에서는 dismiss기능으로 모달을 닫을 수도 있다.반면 unwind segue라는 특이한 기능도 있는데, 이는 보통 스토리보드로 개발할때 주로 사용하며, 특정한 화면으로 돌아가고 싶을 때 사용 하는 기술이다.unwind segue를 왜 사용하나요?공식문서를 참고해보면, 뷰컨트롤러를 dismiss할때 사용하는 기능인 unwind segue는 런타임에 해당 세그웨이의 대상을 결정하므로 뷰 컨트롤러 계층을 설정하는 방법에 제한이 없다.예를 들어 다음과 같이 두 개의 VC가 동일한 자식 VC를 표시하는 상황이 있을 때, 다음에 표시할 VC를..

  • format_list_bulleted iOS/UIKit
  • · 2025. 1. 3.
  • textsms
[iOS / UIKit] UserDefaults - 앱에 데이터 저장하기

[iOS / UIKit] UserDefaults - 앱에 데이터 저장하기

iOS 앱에서 데이터를 로컬에 저장하는 방법은 다양하다.오늘은 그중에서 UserDefaults에 대해서 알아보고, 간단한 사용방법과 함께 구조체를 UserDefaults에 저장하는 방법까지 알아보겠다.UserDefaults란?앱을 사용할 때 서버를 사용하지 않는 이상 데이터를 로컬 즉, iOS 디바이스에 저장해야 한다. 데이터를 로컬에 저장하는 방식에는 UserDefaults, CoreData, SwiftData 등 다양한 방법이 있다.그 중 UserDefaults는 런타임에 메모리에 데이터를 저장하기 때문에 사용자의 기본 설정(닉네임) 등의 단일 데이터 값을 저장하기에 적합하다. 반면 CoreData등은 관계형 데이터베이스를 이용해 대량의 데이터를 저장하기에 적합하다.예를 들어 일기앱의 경우 사용자가 ..

  • format_list_bulleted iOS/UIKit
  • · 2025. 1. 2.
  • textsms
  • navigate_before
  • 1
  • ···
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • navigate_next
공지사항
전체 카테고리
  • 분류 전체보기 (55)
    • Retrospect (15)
    • I'm Domain (1)
    • I'm Tech (0)
    • Personal Study (0)
    • Apple Developer Acadamy (0)
    • iOS (38)
      • Swift (19)
      • SwiftUI (4)
      • UIKit (14)
    • Developer (1)
    • CS (0)
최근 글
인기 글
최근 댓글
태그
  • #MVVM
  • #MC2
  • #SwiftUI
  • #RxSwift
  • #Swift
  • #MC1
  • #애플 디벨로퍼 아카데미
  • #UIKit
  • #Apple Developer Academy @ POSTECH
  • #ios
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바