라벨이 Custom인 게시물 표시

swift 3 에서 pipe forward 연산 적용하기

이미지
Elixir 에서 |> 연산을 사용하는데 아주 직관적이다. 보통 함수는 이렇게 사용한다. let n = 67 let s = String(n + "$") print(s) 하지만 Pipe Forward 연산을 사용하면 이렇다. let n = 67 n |> {String($0) + "$"}    |> {print("2: \($0)") } 두개의 결과는 같다. |> (보통 pipe forward 라 부른다) 연산은 선언을 해야 한다. 이와 같이 하면 사용할 수 있다. 이런 방식이 함수가 중첩되어 표시되는 것보다 휠씬 가독성이 좋다.

[Swift] Custom UIView의 UIButton Event를 상위 뷰인 UIViewController 에 전달하기

UIView를 필요에 따라 생성하여 사용한다. 예를 들어 UIView 하위에 UIButton 을 추가하여 사용할 때 UIButton 의 이벤트를 상위 뷰인 UIViewController 에서 사용할 경우가 생긴다. 이경우 어떻게 해야 할까? 이때 사용하는 방법이 Protocol 이다. 일단 Custom UIView에 Protocl 을 추가한다. protocol ShiftViewDelegate {     // 부모 뷰로 데이터 전달을 위한 델리게이트 메소드     func dayTouchEvent(touchButton: UIButton ) } 이제 UIView 클래스에 델리게이트 변수를 추가한다. class ShiftView: UIView {     // 부모 뷰로 데이터 전달을 위한 델리게이트     var delegate: ShiftViewDelegate ? 버튼 이미지에 메소드에 델리게이트 추가한다 func ButtonTouch(button: UIButton ) {         // 버튼 크기를 키움         button. transform = CGAffineTransformMakeScale ( 1.5 , 1.5 )         // 버튼 크기 원상복구         UIView . animateWithDuration ( 0.8 ) {             button. transform = CGAffineTransformMakeScale ( 1.0 , 1.0 )         }         // 부모 뷰로 데이터 전달         delegate ?. dayTouchEvent (button)     } 이제 UIViewController 에 델리게이트를 추가한다. class ViewController: UIViewController , ShiftViewDel