앱등이에게 살충제를 뿌린다.
-
[Raywenderlich] UIStackView 튜토리얼. (UIStackView Tutorial: Introducing Stack Views)앱등이에게 살충제를 뿌린다./iOS 2017. 1. 5. 02:06
런타임에 뷰를 추가/삭제하는 상황을 생각해봅시다. 물론 추가/삭제된 뷰와 근처에 있던 뷰들의 위치도 잘 잡아주어야 합니다.어떤 방법이 있을까요? 스토리보드에 새로운 뷰와 관련된 Constraint Outlet을 추가하고 active를 on/off 하면 될까요? 아니면 오픈소스? 직접 코드로 구현할 수도 있겠네요. 이 경우 View Hierarchy가 변하는 것은 아니지만 어떻게든 새로운 뷰를 스토리보드에 넣으려면 많은 고민이 들겁니다. 뷰를 추가/삭제할 때마다 모든 Constraints를 제거하고 새로운 Constraints를 추가하는 방법을 떠올릴 수 있겠네요. 이게 기존 Constraints를 수정하는것보다 쉽긴 하죠. 하지만 UIStackView가 있다면, 위 작업이 꽤나 간단해집니다. 스택뷰를 사..
-
[Raywenderlich] Swift3에서 달라진 점 ( What's new in Swift3? )앱등이에게 살충제를 뿌린다./Swift 2017. 1. 1. 21:25
API 변경첫 번째 파라미터의 이름Swift2에서 첫 번째 파라미터 이름은 생략하는 것이 일반적이었습니다. 하지만 Swift3에서는 첫 번째 파라미터의 이름도 표기합니다. [SE-0046] 기존에는 메소드명에 표기되던 'in', 'of', 'to' 등의 전치사가 메소드의 이름에서 사라지고 파라미터의 이름으로 사용됩니다. 이를 통해 가독성이 좋아졌습니다.첫 번재 파라미터가 필요없다고 판단되면 언더바(_)를 통해서 생략시킬 수 있습니다. 불필요한 단어 삭제기존의 애플 라이브러리에는 메소드의 리턴타입, 파라미터 등이 메소드 이름에 표기되어 있었습니다.(stringByAppendingString처럼) 컴파일러가 알아서 타입체킹을 해주기 때문에 이런 작업은 무의미한데요. 그래서 Swift3에서는 이런 무의미한 단..
-
Swift에서는 왜 Import 헤더를 하지 않아도 되는 것일까?앱등이에게 살충제를 뿌린다./고무망치를 도와라 2016. 12. 28. 16:39
Objective-C에서는 다른 클래스를 사용하기 위해서 import "AnotherClass.h"와 같은 헤더를 참조시켜야 했다.하지만 Swift에서는 import문을 사용하지 않고 다른클래스를 자유롭게 사용할 수 있다. 이유가 뭘까? Swift에서는 프로젝트 전체가 네임스페이스의 범위로 지정되기 때문이다.또는컴파일러가 알아서 해주기 때문이다..라고 이해해도 될 듯 하다. 출처 : https://teamtreehouse.com/community/hi-i-wanted-to-know-how-come-we-dont-need-to-import-the-factbookswift-at-the-top-of-the-viewcontroller-thanks
-
[iOS] numberItemsInSection에서 왜이렇게 크래쉬가?앱등이에게 살충제를 뿌린다./일기는 일기장에 2016. 12. 16. 21:41
UICollectionViewDataSource에서 가장 많이 사용할 2개의 메소드는 collectionView: numberOfItemsInSection:collectionView: cellForItmeAtIndexPath: 일텐데,, numberOfSectionInCollectionView도 많이 사용한다. 그런데 난 UICollectionViewDataSource에 있는 numberOfSectionInCollectionView를 사용하지 않고, UICollectionView에 있는 func numberOfSections() -> Int 라는 메소드를 사용했더니 크래쉬가 났다. 그래서 삽질한시간하고 퇴근하기 전에 기록하고자 씀 kind프로젝트 중..
-
[iOS10] viewWillAppear와 viewWillLayoutSubviews앱등이에게 살충제를 뿌린다./일기는 일기장에 2016. 11. 29. 16:58
iOS9에서는 viewWillAppear에서 collectionView의 layout을 고쳐도 문제가 없었는데iOS10에서는 viewWillApper에서 호출하던 메소드들이 작동을 하지 않았다. 그래서 viewWillLayoutSubviews에서 작동하도록 수정하니 잘 되었다.collectionView Layout메소드는 아래와 같음. collectionView?.layoutIfNeeded()collectionView?.collectionViewLayout.invalidateLayout()
-
Architecture 적용해보기앱등이에게 살충제를 뿌린다./일기는 일기장에 2016. 11. 23. 13:18
1개의 ViewController - 1개의 CollectionView - 1개의 CellectionViewCell - 1개의 Model - 1개의 API 과연 여기에 굳이 디자인 패턴을 적용시키는 것이 적절할까 MVP Pattern ViewController, CollectionView, CollectionViewCell Presenter Model, API Request helper - MVC패턴에서는 ViewController와 View에 로직이 어느정도 녹아있지만, 이 로직들을 분리하여 Presenter에 담는 컨셉- View와 Model이 완전히 분리가됨- CollectionViewCell이 Presenter를 소유하도록- Cell이 추가될 가능성을 열어두고 1개의 Cell이 1개의 Presen..