알고리즘 문제를 풀다가 String 과 Int를 결합할 일이 생겨서 zip을 사용해서 문제를 풀었습니다. 항상 같은 사이즈를 가지고 zip 했었는데 사이즈가 다른 것을 zip하면 어떻게 되는지 궁금했습니다. 스위프트 공식 문서를 보면 zip은 Creates a sequence of pairs built out of two underlying sequences. 두 개의 시퀀스로 구성된 것을 가지고 시퀀스쌍을 만듭니다. 라고 정의 내려져 있습니다. func zip(_ sequence1: Sequence1, _ sequence2: Sequence2) -> Zip2Sequence where Sequence1 : Sequence, Sequence2 : Sequence 먼저 두 개의 파라미터가 필요합니다. seq..
배열을 변환해야 할 때 맵을 많이 사용합니다. map은 매개변수로 전달된 함수를 실행하고 실행된 배열을 반환해주는 함수입니다. 배열 , 딕셔너리, 세트 등에서 map을 사용할 수 있습니다. 공식 문서를 살펴보면func map(_ transform: (Element) throws -> T) rethrows -> [T]여기서 transform 은 매핑클로저로 시퀀스의 요소를 매개변수로 받아들이고 동일하거나 다른 유형의 변환된 값을 반환합니다. let cast = ["Vivien", "Marlon", "Kim", "Karl"] let lowercaseNames = cast.map { $0.lowercased() } 예제를 살펴보면 cast는 [String]으로 이루어져 있습니다. cast.map { $0.lo..
스위프트의 함수는 오버라이드와 오버로드를 모두 지원합니다. 먼저 오버로딩이란- 같은 이름의 함수를 여러 개 정의하고 매개변수를 다르게 해 다양한 유형에 호출에 응답 가능하게 합니다.오버라이딩이란- 상속 관계에 있는 클래스의 이미 정의된 메소드를 재정의 해 특정한 형태로 구현 가능합니다. 스위프트에서 매개변수의 타입이 다르면 같은 이름의 함수를 여러개 만들 수 있습니다. 또한 같은 이름의 함수여도 매개변수의 개수가 달라도 함수를 만들 수 있습니다. 위와 같은 방법은 매개변수 이름 (ex: naming , age) 지정해 함수를 선언했습니다. + 스위프트에서는 매개변수 이름과 더불어 전달인자 레이블을 지정해줄 수 있습니다. 보통의 경우는 위와 같이 매개변수의 이름을 전달인자 레이블과 같은 이름으로 사용합니다..
대부분 코어데이터를 프로젝트 파일을 생성할 때 체크박스를 눌러 코어데이터를 추가합니다. 그런데 저는 프로젝트를 생성하고 어느정도 작업이 진행되고 갑자기 코어데이터를 사용하기로 결심해 급 코어데이터를 넣어야했던 경험이 ..ㅎ 있었습니다. 원래는 프로젝트 생성시 Use Core Data를 체크해주면 자동으로 코어데이터에 대한 파일들이 생성되는데요. 체크박스를 해지한 상태에서 프로젝트를 생성하면 당연히 코어데이터 관련 파일들이 없겠죠. 그럼 생성새주면 됩니다. :-) Command + N 을 눌러서 새로운 파일을 생성해줍니다. 그때 iOS 카테고리로 가서 CoreData부분에 Data Model이라고 적힌것을 클릭하고 만들어주면 됩니다. (아 Mapping Model 아니고 Data Model 입니다. 비슷하..
iOS에서 로컬로 데이터를 저장하는 방법에는 여러가지가 있습니다. 코어데이터 , 유저디폴트, 렘 등등 그중에서도 코어데이터 사용 방법을 알아보겠습니다. 프로젝트를 생성할 때 무조건 보게 되는 체크박스 3개중에서 가장 상단에 있는것이 코어데이터를 사용하는 체크박스입니다. 코어데이터를 사용하면 프로젝트내에 코어데이터 데이터 모델 파일이 생성됩니다. 위의 파일을 클릭해 사용할 Entity를 만듭니다.(CoreData에서는 Entity라고 부르니 Class나 Table을 Entity라고 생각하면 될것같습니다.) 엔티티를 설정하고 필요한 어트리뷰트를 설정해주면 됩니다. 어트리뷰트를 클릭하고 오른쪽에 보면 프로퍼티를 설정 가능한데 Optional에 체크가 되어있으면 값이 있어도 되고 없어도 되는 경우입니다. 값이 ..
Photos프레임워크 Photos프레임워크는 iCloud , 사진 라이브러리, 라이브사진을 포함한 Photos 앱에 관리되는 사진이나 비디오 에셋으로 작업합니다.전체 사이즈의 에셋, 썸네일등을 비동기적으로 가져오거나 캐쉬처리 합니다. 아래 클래스들은 사진 라이브러리의 내용을 나타냅니다.클래스의 인스턴스는 읽기 전용(read only)이며 변경이 불가합니다. (메타 데이터 만 포함) PHAsset 클래스는 사진 라이브러리의 이미지, 비디오 또는 라이브 사진을 나타냅니다. PHAssetCollection 클래스는 포토 에셋의 그룹을 나타냅니다. PHCollectionList 클래스는 포토 에셋 컬렉션을 포함하는 그룹을 나타냅니다. (PHCollectionList가 PHAssetCollection을 PHAss..
공유하는 목적으로 사용되는 ActivityViewController ! UIActivityViewController는 앱에서 기본적인 서비스를 제공하는 표준 서비스 뷰 컨트롤러입니다. 이 시스템은 이메일이나 소셜커머스, 컨텐츠 게시, 페이스트 보드에 복사 등 여러 가지 서비스를 제공합니다.(*직접 커스텀 정의 가능합니다.) 아이폰 유저는 자주 보는 .ㅎ. 아래에서 쓕 나타나는 저 화면입니다. 저 같은 경우에는 앱 내에서 코드번호를 앱 유저가 아닌 상대에게 데이터를 보내는 상황에 사용했습니다.셀을 누를 때 메시지 메일 메모에 추가 카카오톡 등 다양한 방법으로 상대에게 데이터를 전송 가능합니다. * 기본적으로 제공하는 액티비티 타입은 여러 가지니 개발문서를 참고하면 좋을 것 같습니다. init(activit..
(1) UserDefaults UserDefualts 클래스는 사용자의 기본적인 데이터베이스 인터페이스로 key 키 value 값을 쌍으로 저장합니다.작은 범위의 데이터를 저장하는 용도로 사용하는 거라 사실상 데이터베이스라 말하는 것도 조금 그렇지만 ..ㅎ 여하튼 UserDefaults는 런타임 중 객체를 사용해서 사용자의 데이터베이스에서 사용하는 기본값을 읽습니다. 유저 디폴트는 값을 필요로 할 때마다 사용자의 기본 데이터베이스를 열지 않아도 가능하게 정보를 캐시 합니다. 실제로 간단하게 사용할 수 있어서 자주 사용합니다. 저 같은 경우에는 회원가입의 사용자 정보를 담거나 버튼의 토글 상태를 담거나 등 유저 디폴트를 사용합니다. - 사용 방법은 아주 간단합니다. 먼저 사용자의 표준 유저 디폴트 객체를 ..
- Total
- Today
- Yesterday
- Animation
- swiftUI
- 문자열
- 책 추천
- swift5
- objc
- SWIFT
- Deep learning
- ARC
- iOS SwiftUI
- 머신러닝
- RX
- rxswift
- ios
- Xcode
- 스위프트
- wwdc
- ReactiveX
- string
- objective-c
- 독서
- Algorithm
- 책 후기
- stanford SwiftUI
- 애니메이션
- 책
- leetcode
- 알고리즘
- 딥러닝
- 스위프트UI
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |