본문 바로가기

전체 글

(99)
e 커머스 with iOS e-커머스 앱은 사용자 입장에서 상품을 사는 것이다. 그러므로 상품을 사는 로직에 대해 이해하자! - 물건을 쉽게 고르고 쉽게 사게하는것 오늘의 집의 예를 들면 기존에 물건을 사는 방식을 바꿔줬다. 디스플레이 되있는 제품을 고르는게 아니라 쇼륨을 보다가 거기서 하나씩 하나씩 원하는 제품을 살수 있음! 약간 이케아나 창고형 매장에서 디피해놓고 파는 느낌?!?! iOS 측면! 제일 먼저 고민해봐야 하는것은 개발자를 목표로 하는 나는 디바이스를 잘 알아야 한다!! 디바이스가 어떤 기능들을 하는지!! - 흔들거나 지문이있거나 얼굴 인식하거나 - 아이폰 7이랑 아이폰 8이랑 가장 큰 차이점은 어떤점이 좋고 어떤곳이 다른지. - 무선충전 홈버튼잇는것 없는것 - 옵젝씨나 스위프트 - 하드웨어가 어떻게 동작하는지 - ..
[Swift] Dictionary - init, grouping, by Dictionary의 init인 grouping by을 써보자! 먼저 단순한 Int 배열들로 grouping을 보여 드리겠습니다. 출력 Dictionary의 init으로 value 값으로 grouping의 sequnce가 들어가고 키 값으로는 by파라미터의 값이 들어갑니다. 편하게 Collection을 만들 수 있슴당.!! 그리고 카뎃들 정보로 팀별로 dictionay를 분리하고 싶다!! 타입과 함께 출력을 해볼까요!! 출력 key 값은 by 파라미터의 타입 value 값은 grouping 파라미터의 타입 이 들어가는 것을 확인했습니다. Swift활용 굳굳 맨 ~
[Swift] compactMap, flatMap 공부하다가 compactMap과 flatMap을 알았습니다. 일단 써봅시다.! flatMap과 compactMap 둘다 1차원 배열들을 옵셔널 바인딩 해주긴 하지만. 1차원 배열에서 사용 출력값 그리고 경고창.. flatMap과 compactMap 둘다 1차원 배열들을 옵셔널 바인딩 해주긴 하지만 옵셔널 바인딩 하는 부분은 compactMap을 써라! 라고 하는 경고창 같아요. flatMap과 compactMap의 기능을 확실히 분할한 것입니다.!! 2차원 배열에 사용 출력 2차원 배열에서 flatMap은 배열을 1차원으로 만들어주고 바인딩 시켜주지 않았습니다. 2차원 배열에서 compactMap은 그냥 map과 다를게 없네요.. 그냥 그대로! 플랫하고 컴팩트하게 출력 결론 배열을 flatten하게 만들..
[iOS] animate - layout, setNeedsLayout, layoutIfNeeded 레이아웃의 Constraint를 통해서 애니메이션을 할 수 있습니다. storyboard에서 레이아웃의 constraint를 control을 눌려서 코드로 옮기면 constraint도 IBOutlet이 됩니다. 자 일단 먼저 layoutSubviews()에 대해 알아볼까요! layoutSubviews() 서브뷰의 레이아웃을 즉시 업데이트 시켜주는 메소드입니다. 호출 되면 해당 뷰의 모든 서브뷰가 layoutSubviews()를 실행합니다. 그래서 이 메서드는 처리량이 많아 직접 호출하는 것은 지양되며 layoutIfNeeded() 메서드 또는 setNeedsLayout() 메서드를 통해 호출 시킵니다. 이 메소드는 시스템에 의해서 뷰의 값이 다시 계산되어야 하는 시점 update cycle에 자동으로 호..
[iOS] animation- transition, keyframe transition 에 대해 공부합시당.! 네 트랜지션 옵션들입니다.!! 순서대로 left, right, top, bottom입니다. 페이지를 넘기는듯한 옵션인 curlUp, curlDown입니다.!! animateKeyframes 연속된 여러 애니메이션을 하려고 할 때 completion을 사용하는데 깊이가 깊어질수록 콜백 콜백 콜백 콜백 콜백 해버리는데 .... 이를 쉽게 쉽게 하고자 keyframe을 씁니다! keyframes를 만들고 addkeyframe을 추가하는 형식입니다. withRelativeStartTime의 범위는 0.0~1.0입니다. relativeDuration의 범위는 0.0~1.0입니다. 이 두개의 파라미터는 withDuration의 상대적 시간입니다. - 1번 2번 뷰는 동시에..
[iOS] animation - animate 평소 iOS 공부를 할 때 animate 부분을 매번 nil로 했었고 어떤 오브젝트를 넣어야할 지 궁금했엇는데 이번 기회에 공부를 해봅시다! 애니메이션 효과를 쓰면 사용자에게 부드러운 UX 사용을 시켜줄 수 있습니다. (적재적소에 사용한다면....) 정말 간단한 사용법 초기값, 변경값, 변경 시간 이 세가지만 있으면 됩니다. 초기값에서 변견값까지 시간에 맞게 애니메이션화 한다.! 라고 생각 하는게 편합니다.! 바꿀 수 있는 값들!! position -> bounds, frame, center transformation -> rotation, scale, translation apperence -> backgroundColor, alpha +레이아웃도 변경됩니다.!! UIView.animate - Clos..
[iOS] Collection View 컬렉션 뷰 UICollectionView 컬렉션을 나열하고 사용자 레이아웃 사용해서 나타낼 수 있습니다. UICollectionView는 UIScrollVIew를 상속합니다!!!!!!!!!!!!!!!!!! (+UIScrollView는 UIView를 상속합니다. 콜렉션 뷰 안에 콜렉션 뷰..넣어서 여러 컨텐츠를 보여주고 그 중 특정 컨텐츠는 가로로 스크롤 하게 가능하겠군) UICollectionViewDataSource CollectionView를 사용하기 위해 필수적으로 CollectionView의 갯수와 CollectionViewCell의 형식을 꼭 정해줘야합니다.! UICollectionViewDelegate Delegate를 통해 특정 item이 클릭 되었을 때 함수를 실행시킬 수 있습니다.! UICollec..
[iOS] MVC, MVVM 디자인 패턴 최근 마주친42 앱을 수정하고 업데이트를 하려던 도중.. 해커톤 때만든 코드들이 구조가 제대로 짜여져있지 않았고 각 객체별 역할도 불분명했습니다. 그로 인해 기능을 추가할수록 점점 코드가 보기 어려워지고 이대로는 안된다고 판단하였습니다. 한동안 앱 업데이트를 잠시 멈추고 제 자신을 업데이트 할 시간을 가져보겠습니다. 이를 해결하기 위해 디자인 패턴을 공부를 해보겠습니다. 제가 생각하는 디자인 패턴은 코드들을 역할 및 기능에 맞게 잘 이쁘게 분할시키는 것입니다.! MVC Model, View, Controller Model은 애플리케이션에서 사용할 데이터를 관리 구조체나 클래스! View는 유저 인터페이스를 표현 및 관리 앱 화면에 보이는 UIView 애들 Controller는 View와 Model의 다리..