본문 바로가기

728x90

전체 글

(104)
[자료구조] Hash / Hash Function / Hash Table 해시테이블 은 키(Key)와 값(Value)로 이뤄진 자료구조이다. Swift의 딕셔너리를 떠올리면 쉬운데, 내부 동작은 실제론 배열과 같다. key를 해시함수를 통해 해시 값으로 변환하고 해시테이블에 해시 값과 대응되는 저장공간에 Value를 저장하는 것이다. 용어 키 Key : 고유한 값으로 Hash Function을 통해 HashValue로 변환한다. 해시 Hash : 임의의 값(Value)를 고정된 길이로 변환하는 것 해시함수 Hash Function : Key에 대한 산술 연산을 이용해 데이터가 저장된 공간을 가리키는 Hash Value 를 구한다. 해시 값 Hash Value : Key 를 Hash Function로 연산한 결과. 이를 기반으로 Hash Table에서 해당 Key에 대응 되는 ..
연락처 저장화면 호출하기 CNContactViewController 전화번호를 저장하면서 직접 입력이 가능한 컨트롤러를 불러야 할 때 . 아래와 같이 사용한다. CNContactViewController는 하나의 연락처에 대한 정보를 편집 할 수 있는데 , 편집말고도 새 연락처를 저장하것이 가능하다. CNContactViewController를 생성하면서 forNewContact로 넘겨주는 인자값으로 CNContact 클래스객체를 넘겨주면 된다. 이때 CNContact는 immutable한 속성이므로 CNContact를 상속했고 Mutable한 CNMutableContact를 넘겨주자. let contact = CNMutableContact() contact.phoneNumbers contact.familyName contact.postalAddresses 주소록 작성시..
UITextField LeftPadding 텍스트 필드에 디자인을 적용하다보면 입력되는 텍스트 옆으로 padding이 들어가야 할 경우가 생긴다. 이때 UITextField의 leftView를 사용해서 간단하게 padding을 넣어줄 수 있다. leftView에 대한 설명을 한 번 보자면... TextField의 leftView를 설명한 부분 왼쪽 공간에 자리한 leftView가 있는데 이것은 optional이므로 여기에 내가 원하는 만큼 넓이를 가진 view를 넣어주게 되면 그 공간이 띄어진 것 처럼 보여질 수 있다. 이 때 텍스트 필드의 색상에 따라 삽입되는 paddingView의 background색상을 맞춰줘야하는것은 필수! clear컬러로 둬서 뒤가 보이도록 두는것도 방법이다. 그리고 leftview에 이미지나 또 다른 view를 add..
Equatable Equatable은 Equatable을 채택한 대상끼리 같은 값인지 확인할때 사용하는 Protocol이다. 간단히 설명을 보면 Equatable 을 채택했을 경우 == 연산자와 != 연산자를 사용하여 같음 또는 같지 않음을 확인할 수 있고 SwiftStandardLibrary의 대부분 타입이 이 Equatable Protocol을 따른다고 한다. 우리가 흔히 사용하는 Int, Float같은 자료형은 모두 ==, != 연산자를 통해 값을 비교하는데 이는 Int,Float같은 자료형이 Equatable Protocol을 채택했기 때문이다. Int타입의 변수를 선언하고 command+Click 으로 그 정의를 따라가보면 Int 옆에 채택한 Protocol 이 나오는데 이 프로토콜들의 뿌리를 따라가다보면 Equ..
유용한 오픈소스들 Hero - 화면 전환이나 뷰 이동 등 애니메이션이 필요한 부분에서 간편한 코드로 구현이 되게끔 도와준다. GitHub - HeroTransitions/Hero: Elegant transition library for iOS & tvOS Elegant transition library for iOS & tvOS. Contribute to HeroTransitions/Hero development by creating an account on GitHub. github.com 사용경험 : https://github.com/KimDuni/Hero-Test CollectionView - 간단해보이지만 구현하기 복잡한 CollectionView FlowLayout을 쉽게! GitHub - KelvinJin/An..
RTL 서비스 국가에 따라 텍스트 또는 UI배치가 좌우 반전이 되야할 때도 있다. 아랍문화권의 국가는 글을 작성할 때 좌에서 우로(Left-to-Right) 작성하는 것이 아닌 우에서 좌로(Right-to-Left) 작성하는데 이에 따라 앱에서도 좌우반전을 시켜줘야 하는것이다. 해당 국가로 서비스를 하려면 당연히..! 우리나라도 100년 전까지만 해도 RTL방식으로 글을 작성하고 있었다고 한다. https://hyperconnect.github.io/2020/05/30/MENA-service-cautions-part1.html MENA(중동 및 북아프리카) 지역 서비스 개발 시 고려해야 할 문화 차이 아랍 문자를 사용하는 지역에 서비스를 런칭하기 위해 신경쓰면 좋은 점들을 소개합니다. hyperconnect.g..

728x90