다음과 같은 화면을 섹션을 나눠서 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..
TableView, CollectionView 에서 Delegate 사용iOS 13+ 부터 가능함!TableView or CollectionView는 따로 만들었다는 가정하에 Delegate를 사용하는 법만 확인 UITableViewDelegate or UICollectionViewDelegate에 있는 contextMenuConfigurationForItemsAt 함수를 정의해 만들 수 있다. 예제는 CollectionView지만 TableView도 동일하게 사용이 가능함!extension HomeViewController: UICollectionViewDelegate { func collectionView(_ collectionView: UICollectionView, contextMenuCon..
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 를 적어놓은 이유는 섹션헤더를 접었다 폈다 하고..
정규 표현식(정규식) 은 특정한 규칙을 가진 문자열의 집합을 표현하는 데 사용하는 형식 언어로 문자열 검색, 치환에 많이 사용된다.대표적인 예시로, 전화번호, 이메일 등의 형식으로 입력을 받았을 때 그 형식이 맞는지를 확인하는 방식으로 자주 사용된다.Swift도 역시 정규식을 사용할 수 있다.정규식 문법정규식 문법은 외우고 있으면 신기할정도다. 자주 쓰지 않고 필요할때만 문법을 찾아서 조합해 사용하다보니 자주 까먹게된다.자주 사용하는 것들은 예제로 알아보고자세한 문법은 https://regexr.com 에서 RegEx Reference 를 참고하면서 만들면 된다.테스트도 가능하기 때문에 유용한 사이트다정규식 문법은 드림코딩 유튜브에서 잘 설명되어있으니 참고하기. 패턴설명.임의의 한 문자와 일치합니다. (..
Swift의 프로토콜은 무엇인가, 어떻게 활용하나- 프로토콜의 요구사항은 무엇인가- 프로토콜 확장(Protocol Extension)을 사용하는 이유는?- 프로토콜 지향 프로그래밍(Protocol-Oriented Programming)의 장점은?- 상속(Inheritance)과 프로토콜(Protocol)의 차이점은?- 클래스 상속을 사용할 때의 장단점은?- 다중 상속(Multiple Inheritance)이 불가능한 이유는?- 프로토콜 준수(Conformance)를 통해 다형성을 구현하는 방법은?Swift의 특징Swift는 2014년 애플이 발표한 언어로 현재(2025) Swift 6 까지 버전이 나와있다.Apple 생태계에서 사용될뿐만 아니라 서버, 아두이노 등 활발하게 영역을 넓히고 있다.Apple이..