본문 바로가기

반응형

전체 글

(59)
swift 기본 문법) 연산 프로퍼티(get, set) 알아보기 오늘은 수업에서 다뤘던 연산 프로퍼티에 대해서 복습해보려고 한다. 우선 연산 프로퍼티의 핵심 내용은 다음과 같다. 1. 클래스, 구조체, 열거형에 사용 2. 저장 프로퍼티와 달리 저장 공간을 갖지 않는다. + 저장할 프로퍼티를 만들어야 한다. 3. 항상 var로 정의해야 한다. (다른 프로퍼티의 값을 연산, 프로퍼티로 전달받은 값을 다른 프로퍼티에 저장하기 때문에) 연산 프로퍼티 말을 이해해보면 값을 저장하지 않고 연산을 하는 프로퍼티구나 라고 짐작해볼 수 있다. 그리고 연산 프로퍼티는 값을 저장하지 않고 연산하기 때문에 어떤 타입을 연산할지 알기 위해 타입을 명시해야 한다. 추가로 연산 이라고 하면 어떤 값을 받고 다른 프로퍼티에 넘겨줄지를 알아야 한다고 짐작할 수 있다. 우선 예시를 들어서 설명하면 ..
swift 기본문법) if let, guard let의 목적과 의미 알아보기 최근 수업을 들으면서 문법을 다시 공부하고 있다. 무심히 쓴 코드들에 대한 의미를 다시 한번 듣고 이해하면서 좋은 공부가 되어가고 있다. if le과 guard let은 Optional Binding과 연결되어 있는 개념이지만 추가적인 개념이 있어서 정리해보았다. Optional이란? 이 변수에는 값이 있을 수도 있고 없을 수도 있다.라는 의미이다. 개인적인 경험으로 optional이 왜 필요해볼까를 생각해 봤을 때, 앱이 네트워크 통신으로 값을 받을 때, 항상 값이 있다고 확신할 수 없다. optional을 사용하지 않고 변수를 선언하였는데 빈 값이 온다면? 해당 코드가 이니셜되었을 때 앱은 죽게 될 것이다. 이러한 이유 때문에 Optional 이 유용하게 사용되었다. 하지만 Optional로 처리를 ..
Swift 고차함수) flatMap, compactMap 알아보기 CompactMap func compactMap(_ transform: (Int?) throws -> ElementOfResult?) rethrows -> [ElementOfResult] Returns an array containing the non-nil results of calling the given transformation with each element of this sequence. 해당 시퀀스의 각 요소로 지정된 변환을 호출한 nil이 아닌 결과를 포함하는 배열을 반환한다. 라는 의미를 가지고 있다. 변환하는 과정에서 옵셔널 값이 생성되는 경우 해당 메서드를 통해 옵셔널이 아닌 값들을 받을 수 있다. compactMap이 옵셔널 바인딩의 기능을 가지고 있기 때문에 가능하다. let ar..
Swift Realm 알아보기 Realm이란? 모바일에 특화된 NoSQL 데이터베이스로 Swift, Java, Kotlin 등 다양한 SDK를 무료로 제공한다. Swfit를 공부를 하면서 데이터 저장을 필요로 할 때, UserDefaults, CoreData, SQLite등이 있지만 Realm 1) 작업 속도가 빠르고 2) Cross Platform을 지원해, 안드로이드 OS와 DB 공유가 가능 3) Real Studio를 통해 DB 상태를 확인할 수 있고 4) 코드가 직관적이다. https://realm.io/realm-swift/ Realm Swift Fast, Swifty data storage realm.io Model 정의 Realm에서 저장할 데이터 객체를 정의할 떄는 class를 만들고 필요한 property를 정의한다...
Swift Realm 에러 "please enter a valid encryption key for this realm file" Realm 공부를 하다 Realm Browser을 이용하면 DB를 확인할 수 있다고 해서 앱스토어에서 다운받아 보았다. https://apps.apple.com/kr/app/realm-browser/id1007457278?mt=12 ‎Realm Browser ‎Realm Browser is a viewer and editor for .realm data store files. It allows developers implementing Realm in their apps to easily view and debug the contents of the .realm files their apps have created. Features: - View all of the objects in a .realm f..
Swift 라이브러리 Then 알아보기 깃허브에서 다른 분들의 코드를 보며 공부를 하다보면 Then 이라는 라이브러리를 쓰는 것을 많이 봤다. 이게 뭘까? 어렵게 느껴져서 미루다 직접 찾아보니 생각보다 간단한 라이브러리였다. https://github.com/devxoul/Then GitHub - devxoul/Then: ✨ Super sweet syntactic sugar for Swift initializers ✨ Super sweet syntactic sugar for Swift initializers - GitHub - devxoul/Then: ✨ Super sweet syntactic sugar for Swift initializers github.com Then 이란? ✨ Super sweet syntactic sugar for S..
(개발 동아리)CMC MakeUS 메이커스 iOS 후기 2021년 9월에 개발 공부를 시작하고 프로젝트를 하기 위해서 MakeUS라는 동아리를 신청하였다. https://declan.tistory.com/13 라이징 캠프,컴공선배 iOS 후기(SSAC) 오늘은 지난 21.08부터 21.12까지 소프트스퀘어드 X SSAC3기 프로그램에 참가한 경험을 나눠보고자 한다. SSAC(현재는 SeSAC)은 청년취업사관학교의 교육브랜드로 서울시에서 만든 기관이다. 여기서 내 declan.tistory.com 이 글을 보면 내가 9월부터 12월까지 어떻게 공부를 해왔는지 알 수 있다. 물론 3개월이라는 짧은 기간동안 교육을 마치고 '괜히 동아리를 하면서 다른 사람에게 피해를 주지 않을까?'라는 생각에 망설여지기도 하였다. 하지만 라이징 캠프를 마친 시점과 모집 시기가 딱 ..
xcode 에러 Could not insert new outlet connection 스토리보드에 있는 Object(textfield)를 연결하려고 할 때 가끔 이러한 에러가 발생하곤 한다. 큰 이슈는 아니지만 까먹지 않기 위해서 작성해보고자 한다. 많은 해결방법들이 나와있지만 VC의 이름을 바꿔주거나 삭제하고 다시 만들어주면 해결이 된다. https://developer.apple.com/forums/thread/110471 Could not insert new outlet connec… | Apple Developer Forums I want to insert a new outlet for a stack view, but every time I click connedt, this error appears: "Could not insert new outlet connection: Cou..

반응형