개발자/iOS
-
[Swift] for-in, foreach 의 차이점개발자/iOS 2019. 8. 25. 17:28
어떤 collection에 대해서 for-in, foreach 두 가지 모두 순차적으로 element에 접근할 수 있습니다. 그럼 break를 써보면 어떨까요? for-in은 당연히 break를 사용할 수 있지만, foreach에서는 break를 사용할 수 없습니다. return 은 어떨까요? for-in에서는 조건에 따라 return을 할 수 있고 이에 따라 for loop도 중단됩니다. 하지만 foreach의 경우에는 return 문장을 만난 후에도 계속 실행되는 것을 볼 수 있습니다. 다들 눈치 채셨겠지만, for-in은 Swift가 제공하는(built-in) 기본함수이고 (기본 함수라고 부르는게 맞는지는 잘 모르겠네요..), forEach는 collection에서 제공하는 기능이며 closure ..
-
[Swift] for-in statement개발자/iOS 2019. 8. 25. 17:15
RxSwift에서 for-in statement는 immutable 하고 sychronized 코드의 예시로 나오는 것을 보고 정리한 내용입니다. var nums = [1, 2, 3] for i in nums { print(i) nums = [4, 5, 6] } print(nums) 먼저 아래의 코드를 보면 for-in loop를 돌면서 nums에 다른 배열을 할당하고 있습니다. 결과는 어떨까요? 1 2 3 [4, 5, 6] 기존에 할당했던 배열이 모두 출력된 후에 변경된 배열이 출력되었습니다. 이에 따라서 for-in 문장을 사용할 때 배열은 모두 복사되고 그 복사본을 이용한다는 것을 유추할 수 있습니다. var nums = [1, 2, 3] var index = 0 for _ in nums { pri..
-
What is RxSwift?개발자/iOS 2019. 8. 23. 08:05
RxSwift가 무엇인지에 대해, 그리고 어떻게 사용할지에 대해서 공부를 시작하려고 합니다. 좋다고 하지만 무엇인지, 어떻게 쓰는 것인지, 쉽사리 이해하기 어렵고 이러한 진입장벽이 꽤 있는 것 같습니다. 하지만 Apple에서도 RxSwift와 동일한 컨셉인 Combine을 WWDC2019에서 발표했고, 어느 정도 필요성과 대세가 흘러 가고 있는 것 같아서 공부를 해보려고 합니다. “RxSwift is a library for composing asynchronous and event-based code by using observable sequences and functional style operators, allowing for parameterized execution via schedulers...
-
PJT3 - WeatherToday개발자/iOS 2019. 8. 1. 16:46
PJT2와 마찬가지로 부스트코스의 PJT3를 진행하면서 궁금한 사항 그리고 새롭게 알게된 사항을 정리합니다. * 과제 자체의 구현에 대한 내용은 다루지 않습니다. 1. Codable(Encodable, Decodable), 그리고 CodingKeys 서버와 데이터를 주고 받거나 Asset에 저장되어 있는 데이터를 사용하고자 할 때, 어떤 약속된 형태가 필요합니다. 여러 가지 형태가 있겠지만 대표적으로 XML, JSON이 있습니다. 이번 프로젝트에서는 Asset에 저장되어 있는 JSON 형태의 데이터를 Parsing하여 화면에 적절히 표시하는 것이 주된 내용이였습니다. 언급한 대로 JSON Parser 라이브러리를 구해서 사용하거나 직접 Parsing하는 방법이 있겠지만 Swift 4부터 지원되고 있는 E..
-
PJT2 - SignUp개발자/iOS 2019. 7. 21. 13:31
부스트코스 에이스 과정 첫 PJT로 SignUp을 진행했습니다. 비교적 간단한 프로젝트이지만 잘 모르고 사용했던 것에 대해 "왜?" 라는 질문을 하며 공부할 것이 많음을 느꼈고 이에 대해 정리해 보고자 합니다. * 프로젝트 자체에 관한 내용이라기 보다는 구현하면서 궁금했던 사항을 다룹니다. 1. UITextFieldDelegate Id, Password 등과 같은 사용자 정보를 입력받을 때 마다 자동으로 유효성 체크를 하도록 해주어야 했습니다. 이 때 UITextFieldDelegate를 이용하여 어떤 입력이 발생되면 유효성 체크를 하는 함수가 실행되도록 하였습니다. 주요한 Delegate 함수들을 테스트해보았습니다.(호출 순서 대로 표기) extension ViewController: UITextFie..