본문 바로가기
반응형

Apple30

[iOS] 오토레이아웃 1/N 지점에 위치시키기 아래 사진처럼 노란색 뷰가 하위 뷰로 파란 버튼을 가지고 있을 때, 파란 버튼을 항상 노란 뷰의 1/3 지점에 오도록 하고 싶은 상황이다. top을 constant로 줘버리게 되면 화면 크기가 달라졌을 때 비율이 유지되지 않는다. multiplier를 사용하면 될 것 같은데, width, height anchor가 아닌 top anchor와 같은 것들에도 multiplier를 사용할 수 있을까? 사용할 수 있다면 무엇을 기준으로 적용해야 할까? 어떤 뷰 내에서 top과 bottom anchor는 아래와 같이 표현할 수 있다고 한다. top = 0*bottom이고, bottom = 1*bottom이므로, top과 bottom 사이의 값은 (0~1 사이 값)*bottom으로 표현할 수 있다. 따라서 세로 방.. 2022. 3. 10.
[Swift] 소수점 n+1번째 자리에서 반올림하여 n번째 자리까지 나타내기 1. 10^n을 곱한다. 2. round 함수로 반올림한 정수로 만든다. 3. 다시 10^n으로 나눠준다. 예를 들어 70.8756을 소수점 셋째 자리에서 반올림하여 둘째 자리까지만 나타내고 싶다면 70.8756 → 7087.56 → 7088 → 70.88 let x = 70.8756 print(round(x * 100) / 100)// 70.88 2022. 2. 8.
[Swift] 원주율 파이(Pi)값 사용하기 기하 알고리즘을 공부하면서 원주율 파이값을 사용할 일이 생겼다. 아래와 같이 FloatingPoint 타입에 get 프로퍼티로 선언되어 있다. static var pi: Self { get } 사용은 아래와 같이 하면 된다. let PI = Double.pi // 3.141592653589793 2022. 2. 8.
[Swift] 공식 문서에서 상속 관계, 프로토콜 채택 여부 확인하기 Set 관련 포스팅을 하다가 Array가 Sequence 프로토콜을 채택한다는 걸 공식문서에서 확인하고 싶었는데 어디에 적혀있는지 찾을 수가 없었다. 프로퍼티랑 메소드 파트가 너무 길어서 끝까지 내려가 본 적이 없었는데, 페이지 제일 끝에 적혀있었다... 공식 문서 각 페이지의 맨 아래로 가보면 Relationships라는 챕터에 상속, 채택한 프로토콜 목록이 아래와 같이 나와있다. 타고 타고 상속받거나 채택할 수 있어서 잘 찾아봐야 한다. 위에서 언급한 Array의 경우에는 MutableCollection 프로토콜을 채택하는데, 이 MutableCollection 프로토콜은 Collection을 상속받고, 또 이 Collection이 Sequence를 상속받아서 결론적으로 Array가 Sequnce 프.. 2022. 2. 5.
[Swift] 배열에서 중복 제거하기 Set 사용 Set의 성질을 이용한다. 집합 내에는 중복 원소가 존재하지 않으므로, 간단하게 Array를 가지고 집합 Set을 생성하면 중복이 제거된다. Array를 Set으로 Set의 이니셜 라이저 중에 Sequence를 받아 Set을 만들어주는 것이 있다. Array도 Sequence 프로토콜을 준수하므로 이것을 사용하면 된다. init(_ sequence: Source) where Element == Source.Element, Source : Sequence 예시 코드 중복이 포함된 Array을 가지고 Set를 만드는 코드이다. 중복되는 원소들이 제거되고 1, 2, 3, 4, 5만 남은 것을 확인할 수 있다. 단, Set은 원소들 간 순서가 없는 unordered collection이기 때문에 배.. 2022. 2. 5.
반응형