감자주먹밥
close
프로필 배경
프로필 로고

감자주먹밥

  • 분류 전체보기 (92)
    • iOS (3)
      • Swift (14)
      • RxSwift (2)
      • UIKit (35)
      • SwiftUI (10)
      • Test (4)
    • ReactNative (0)
    • NodeJS (0)
    • 코퉤엣 (14)
    • Android (8)
    • Git (2)
  • 홈
  • 태그
  • iOS
  • Github
  • 방명록
[Swift] weak self 를 언제 쓰는게 좋을까?

[Swift] weak self 를 언제 쓰는게 좋을까?

지금까지 순환참조는 안돼~ 메모리 릭 안돼~ 하면서 무작정 사용했던 weak self.하지만 유튜버의 이 질문에 대한 영상을 보고 다 같아 붙일게 아니라, weak self 역시 어떻게 사용할지 고려하고 작성해야한다는걸 알았다. 그 내용을 정리해보자이 유튜버의 영상을 보고 정리했습니다. 먼저 예제 코드.class ViewModel { func format(_ value: Int) -> String { return "number: \(value)"} var handler: ((Int) -> Void)? = nil func code() { // 1. let formatted = [1, 2, 3].map { [weak self] item in ..

  • format_list_bulleted iOS/Swift
  • · 2025. 3. 10.
  • textsms
[UIKit] CollectionView Cell 에 cornerRadius & shadow 같이 적용하기

[UIKit] CollectionView Cell 에 cornerRadius & shadow 같이 적용하기

Cell을 생성하고 conerRadius, shadow를 같이 적용해서 실행해보니 제대로 적용되지 않는 문제를 겪었다.문제점cornerRadius를 적용할땐 clipsToBound를 true로 해줘야하고,shadow를 적용할 땐 masksToBounds 를 false로 해줘야한다. 이 두가지를 하나의 뷰에서 하면 안되는것이다!먼저 실행된 기능만 적용되고 후에 적용한것은 되지도 않는다. 그럼 어떻게 할까?해결먼저 해결한 화면을 보자.하나의 뷰에 두가지 기능을 사용할 수 없으니 2개의 뷰를 사용해 각각 적용하는 방식을 선택했다. Cell의 경우 기본적으로 ContentView가 존재하기 때문에...1. ImageView에 cornerRadius 적용2. contentView에 shadow 적용 그리고 con..

  • format_list_bulleted iOS/UIKit
  • · 2025. 3. 4.
  • textsms
[UIKit] TableView Dynamic Height 사용하기

[UIKit] TableView Dynamic Height 사용하기

다음과 같은 화면을 섹션을 나눠서 TableView로 만들었는데 리뷰가 길거나 영화 제목?이 길면 그에따라 셀도 커졌으면 좋겠는데.. 하니까 바로 Dynamicheight를 설정할 수 있는걸 알고 사용한걸 정리해보았다.Dynamic Height in TableView tableView = UITableView(frame: view.bounds, style: .insetGrouped)// dynamic height 설정tableView.rowHeight = UITableView.automaticDimension// 대략적인 높이를 설정해줘야함tableView.estimatedRowHeight = 300설정은 간단하다 추가로 대략적인 높이를 설정해줘야한다. Cell 설정도 어렵지 않았다.class Movie..

  • format_list_bulleted iOS/UIKit
  • · 2025. 3. 4.
  • textsms

[UIKit] Long Press ContextMenu 띄우기 (TableView & CollectionView)

TableView, CollectionView 에서 Delegate 사용iOS 13+ 부터 가능함!TableView or CollectionView는 따로 만들었다는 가정하에 Delegate를 사용하는 법만 확인 UITableViewDelegate or UICollectionViewDelegate에 있는 contextMenuConfigurationForItemsAt 함수를 정의해 만들 수 있다. 예제는 CollectionView지만 TableView도 동일하게 사용이 가능함!extension HomeViewController: UICollectionViewDelegate { func collectionView(_ collectionView: UICollectionView, contextMenuCon..

  • format_list_bulleted iOS/UIKit
  • · 2025. 3. 4.
  • textsms
KeyPath 알아보기 + KVC/KVO

KeyPath 알아보기 + KVC/KVO

KeyPathSwiftUI 에서 List에서 사용해보고, Combine에서도 assign 메서드에서 사용을 했었던 KeyPath를 알아보자Swift4!! 에 도입된 기능!!객체의 프로퍼티나 서브스크립트에 대한 경로를 type-safe하게 참조하는 기능컴파일 타임에 프로퍼티에 접근하거나 수정할 수있고, 코드 안전성과 가독성을 높여준다.\\.KeyPath는 역슬래쉬 타입이름.프로퍼티 와 같은 형태로 사용된다.struct A { var value: Int = 10 }class Person { var name: String = "NAME"}let a1 = A()print(a1[keyPath: \\.value])let a2 = A()let path = \\A.value print(a2[keyPath:..

  • format_list_bulleted iOS/Swift
  • · 2025. 2. 23.
  • textsms

[SwiftUI] 미니 프로젝트를 진행하며 알게된 것 정리

SwiftUI로 Nanki (단어장 앱)을 만들어보면서 알게된 점을 총 정리해서 작성했다.생각보다 간단하게 처리하고 사용할 수 있는게 많아서.. SwiftUI에 적응하기 위해서는 UI를 다양하게 많이! 작성해봐야 할듯. [GitHub - JustHm/NankiContribute to JustHm/Nanki development by creating an account on GitHub.github.com](https://github.com/JustHm/Nanki)UI 관련ListList StyleList{ ...}.listStyle(.sidebar)리스트의 기본 스타일은 insetGrouped 로 지정되어있다.그 외에도 여러개가 있는데, sidebar 를 적어놓은 이유는 섹션헤더를 접었다 폈다 하고..

  • format_list_bulleted iOS/SwiftUI
  • · 2025. 2. 21.
  • textsms
  • navigate_before
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • ···
  • 16
  • navigate_next
공지사항
전체 카테고리
  • 분류 전체보기 (92)
    • iOS (3)
      • Swift (14)
      • RxSwift (2)
      • UIKit (35)
      • SwiftUI (10)
      • Test (4)
    • ReactNative (0)
    • NodeJS (0)
    • 코퉤엣 (14)
    • Android (8)
    • Git (2)
최근 글
인기 글
태그
  • #UIKit
  • #ios
  • #tableView
  • #백준
  • #programmers
  • #SWIFT
  • #android
  • #Kotlin
  • #swiftUI
  • #코딩테스트
최근 댓글
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바