목록분류 전체보기 (36)
teunteun2
Array 특징 세가지 - Arrays can contain anything - Arrays are of a fixed size 배열은 고정된 크기를 가지고 있다. Swift 에서는 배열을 생성할 때 크기를 지정하지 않기 때문에 Swift에서는 그 크기를 볼 수 없음 다른 언어에서는 배열을 초기화할 때 크기를 지정하기도,, Swift는 좀 다르지만 주의해야할 사항이 있음 (근데 알고리즘 문제 풀 땐 꽤나 많이 사용하는 Array(repeating: , count: ) ...) - Arrays support random access 연결리스트, 스택, 큐, 이진트리 모두 불가능하지만 Array는 가능한 것이 모든 요소에 접근 가능한 것 배열이 아무리 커지더라도 인덱스를 알면 O(1)로 그 인덱스의 값을 가..
다시 기초부터 다지는 느낌으로 Swift로 알고리즘 강의를 들어보면 어떨까 싶어서 듣게 된 Udemy 사이트의 The Swift Arcade Data Structures and AlgorithmsBootcamp https://www.udemy.com/course/the-swift-arcade-data-structures-and-algorithms-bootcamp/ What We Learned 1. BigO is the language used to compare performance of algorithms (time and space) 빅O 표현기법은 알고리즘 수행능력을 비교하기 위한 것 ( 수행능력 -> 시간복잡도 & 공간복잡도 ) 1-1. Constant O(1) / Linear O(n) / Qua..
1. Homebrew 설치 $ brew update $ brew install swiftgen 2. SwiftGen 적용하고자 하는 프로젝트 상위 디렉토리로 이동해서 $ swiftgen config init 3. 그럼 자동으로 yml 파일이 생기고 열린다 ! -> yml 작성 input_dir: Hous-iOS-release/Resources/ output_dir: Hous-iOS-release/Resources/ xcassets: inputs: Colors.xcassets outputs: templateName: swift5 output: Generated/Colors+Generated.swift params: enumName: Colors inputs: Images.xcassets outputs: t..
오늘은 제가 Sopt 합동세미나에서 주어진 뷰를 구현하면서 배우게 된 것을 공유하려고 합니다 제가 맡은 뷰는 당근마켓의 글쓰기 뷰였는데요, 이런 화면의 경우 콘텐츠를 키보드에 가려질 위치까지 작성한다면 키보드가 위로 올라왔을 땐 ScrollView의 어딘가에 키보드 크기가 반영되어야 사용자들이 키보드에 가려진 부분도 스크롤해서 볼 수 있겠죠 ? - 순서 - 1. 키보드가 올라왔을 때, 내려갔을 때를 캐치 2. ScrollView의 contentInset 변경 1. NotificationCenter 를 통해 키보드 감지 우선 키보드가 올라왔을 때와 내려갔을 때를 감지하기 위해 특정 이벤트를 감지해서 알려주는 NotificationCenter를 viewWillAppear에 등록해주었어요 override fu..
View Reactor 그 사이에 Action stream 과 State stream 를 주고받는다 View -> (Action) -> Reactor Reactor -> (State) -> View 디자인 의도 1. Testability -> View로부터 비즈니스 로직을 분리하기 위함 2. Small 3. Less Typing -- View -- (아마 프로젝트에서는 ViewController & Cell 을 지칭할듯) - 뷰는 그저 actionStream과 stateStream을 map 할지 를 정의하는 부분 (보내고 받기만 한다는 뜻인듯) 1 뷰를 정의할 땐, 리액트킷에 정의되어 있는 View 프로토콜을 채택하면 된다. 2 View 프로토콜을 채택하면 그 클래스는 자동으로 reactor라는 프로퍼티..
CollectionView Cell 내부에 버튼이 있는 경우를 자주 볼 수 있는데요, 이 버튼의 action을 세가지 방법으로 구현해본 후 차이점을 기록해보려고 합니다 1. 버튼 태그에 IndexPath.row를 담는 방법 장점 - 뛰어난 장점은 아니지만 CollectionVIew delegate 메서드인 cellForRowAt 외부에서 @objc selector Action을 정의할 수 있어요 내부에서 액션함수를 정의하면 delegate 메서드가 무거워지니까.. 단점 - 하지만 해당 방법으로 버튼 액션을 구현할 경우 cellForRowAt 메서드 안에서 Button의 addTarget을 해야합니다 - 태그를 사용하는 방법은 추천하지 않는다고 해요 잘못하면 row가 꼬일 수 있다고 들은 .. 2. del..