지금까지 순환참조는 안돼~ 메모리 릭 안돼~ 하면서 무작정 사용했던 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 ..
다음과 같은 화면을 섹션을 나눠서 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..
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:..
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 를 적어놓은 이유는 섹션헤더를 접었다 폈다 하고..
내 블로그 - 관리자 홈 전환 |
Q
Q
|
---|---|
새 글 쓰기 |
W
W
|
글 수정 (권한 있는 경우) |
E
E
|
---|---|
댓글 영역으로 이동 |
C
C
|
이 페이지의 URL 복사 |
S
S
|
---|---|
맨 위로 이동 |
T
T
|
티스토리 홈 이동 |
H
H
|
단축키 안내 |
Shift + /
⇧ + /
|
* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.