본문 바로가기

반응형

전체

(290)
Unsplash - 6. 사진 목록 받아오기 안녕하세요. Skillist입니다. 이번엔 Unsplash API를 활용하여, 사진 목록 받아오기를 해볼게요 dataTask를 통해서 받아올건데요, 한번 볼게요. 생각보다 복잡해요??가 아니라 간단해요~~ 13라인 : Unsplach의 기본 url은 변경되지 않을거기 때문에, 저는 따로 URLComponent로 구현했습니다. 뒤에 API마다 path가 달라지는 것이지, scheme이나, host는 고정돼있잖아요. 22라인 : pageNum은 변경되기 때문에, 전달 받도록 했고, completionHandler 또한 넘겨 받습니다. url에 대한 path와 api에 필요한 쿼리파람을 추가했어요. 아!!! "client_di"에는 본인의 unsplash key를 등록하세요!! 그리고, dataTask를 수행..
Codable 생성 툴 소개 - quicktype 안녕하세요. Skillist입니다. 이번엔 생산성 향상에 도움을 주는 툴을 소개할게요. 저는 매번 Codable를 작성할때, json 보느라 눈 아프고, 에러 발생시 오타를 찾느라 고생했었는데, 이를 한번에 해결해주는 툴입니다. Codable을 생성해주는 툴이에요. 바로 QuickType입니다. https://quicktype.io/ Convert JSON to Swift, C#, TypeScript, Objective-C, Go, Java, C++ and more • quicktype { "people": [ { "name": "Atticus", "high score": 100 }, { "name": "Cleo", "high score": 900 }, { "name": "Orly" }, { "name"..
Unsplash - 5. 다운로드 가능한 이미지뷰와 이미지 캐싱 안녕하세요. Skillist입니다. 오늘은 지난글에 나왔던, DownloadableImageView를 알아보죠. 이름 그대로, url을 통해서 이미지를 다운받아 보여줄 수 있는 ImageView에요. ImageView를 상속했어요. 이미지를 쉽게 다운받을 수 있는 방법은 강력한 라이브러리인 "kingfisher"를 사용하면 돼요. 코코아팟, 스위프트 패키지 매니터, 카르타고 등 추가할 수 있구요. 사용하기도 쉽고 강력해요. https://github.com/onevcat/Kingfisher GitHub - onevcat/Kingfisher: A lightweight, pure-Swift library for downloading and caching images from the web. A lightwe..
Unsplash - 4. 메인 사진 목록에 대한 Cell 구성 안녕하세요. Skillist에요. Unsplash 앱 다운받아 사용해보셨어요??? 사용 해봤다고 믿을게요. 사용 안해봤으면 다운받아 사용해보세요~ 이번엔 메인 화면에 보이는 사진에 대한 Cell을 구현할 거에요. 드디어 SnapKit을 사용합니당?? (제가 구현한 앱이에요.)메인 사진 목록이 이렇게 생겼어요. 햄버거 사진을 살펴볼게요 햄버거 사진 보니 햄버거 땡기네요~~~ 아~~~ 배고파. 1번 사진이 들어가는 영역과 2번 Text가 들어가는 영역으로 보이죠?? ImageView와 UILabel로 구현하면 되겠네요. 아주 간단하네요?? cell 클래스 만들어주고, UIImageView와 UILabel을 선언했어요. DownloadableImageView는 제가 만든 클래스인데, UIImageView를 상..
Unsplash - 3. SceneDelegate와 TabBarController 안녕하세요. Skillist 입니다. 바로 시작해볼까요. 우린, 스토리 보드를 사용하지 않을거니, 코드로 앱 화면 연결해줄게요 우선 세팅부터 해줘야 해요. Main.스토리보드를 삭제해주세요. 그래도 되냐구요? 네, 되더라구요. Move to Trash를 선택해서 파일 자체를 삭제 하면 돼요. 그리고 Info.plist에서 스토리 보드 name 항목을 지워주세요. 그리고 프로젝트에서 타겟으로 이동하여 Main interface를 삭제 해주세요. 프로젝트에 대한 설정은 다 했어요. SceneDelegate로 이동하실게요~ SceneDelegate에 주석이 많은데 다 삭제 했구어요. window를 생성하여, rootViewController을 지정하고, makeKeyAndVisible을 했습니다. - 구글 번..
Unsplash - 2. SnapKit 등록 안녕하세요. Skillist 입니다. 이번 프로젝트는 SnapKit으로 레이아웃을 구현할거에요. 저는 기존에 스토리보드를 주로 사용했는데, 스토리보드작업에는 다음 문제를 경험했어요. 1. 스토리 보드를 수정하지 않고, 파일을 열기만 해도 x,y의 좌표가 변경되어 스토리보드 파일 변경이 빈번하게 일어난다. 2. 여러 브렌치에서 스토리보드 작업을 진행한 경우, merge 시 컨플릭이 발생한다. 3. 결과적으로 스토리보드에 대한 작업은 협업 문제가 발생한다. 그럼 SnapKit에 대한 문제는 없는건가요? 다음 문제를 경험했어요. 1. 모든 UI에 대한 선언 및 제약사항을 코드로 작성해야 하므로, 코드량이 늘어난다. 2. UI를 시각적으로 확인할 수 없어, SnapKit에 대한 코드를 보고 레이아웃을 형상화해야..
Unsplash - 1. Unsplash API 안녕하세요 Skliist입니다. Unsplash에서 무료 API를 제공하고 있어, Unsplash 클린 코딩을 진행하고 있습니다. API를 확인할 수 있는 주소는 다음과 같아요. https://unsplash.com/developers Unsplash Image API | Free HD Photo API Codepen To make adding images into prototypes and code examples, Codepen integrates the Unsplash library, making finding and adding an image super easy. unsplash.com 사이트에 가입하여 앱 생성 및 등록하고, API를 이용할 수 있어요. API 요청할때마다 발급된 accessK..
iOS 앱, 앱스토어 출시 후기 드디어 A부터 Z까지, 직접 기획하고 개발한 앱을 앱스토어에 출시했어요!! 출시까지, 여러 일들과 생각들을 느꼈기에, 개발 계기부터 출시까지의 생각과 느낌을 작성하려합니다. 모바일 앱 출시 앱 출시란, 누군가에게는 굉장히 대단한 일 일수도 있고, 작은 일 일수도 있습니다. 학부생부터 Android를 공부하고 개발하며, 약 4년동안 Android 앱 10개 정도를 Play Store에 등록하고 업데이트, 운영했습니다. 수년동안의 Android 앱 출시 및 운영 경험을 가지고 있기에, 저에게 있어서 앱 출시는 어려운것, 복잡한것, 귀찮은것들이 아니었습니다. 앱 출시에 있어서 가장 어려운것은 "마음먹기"와 "시작하기" 그 뿐이었습니다. iOS 앱 출시 하지만, iOS 앱 출시는 조금 달랐습니다. iOS 앱 출..
반복문 - while, repeat-while 반복문 특정 코드 블록을 반복적으로 수행해요 반복 횟수를 정하여 수행하거나(for), 반복 여부를 확인하여 수행(while)합니다. for : 횟수 반복 while : 조건 반복 오늘은 while과 repeat-while에 대해서 알아볼게요. while 다른 언어의 while문과 같습니다. 조건식의 값이 true일 동안 반복 수행합니다. while 조건식 { 실행코드 } var i = 0 while i < 3 { print(i) i += 1 } /* 결과 0 1 2 */ 이렇게 조건식이 true일 동안 반복수행하죠. while문은 반복문이기 때문에, continue, break 사용 가능합니다. repeat-While 다른 언어의 do-While문과 같습니다. 한번 실행코드를 수행하고, 조건식의 값이 t..
반복문 - for-in, forEach 반복문 특정 코드 블록을 반복적으로 수행해요 반복 횟수를 정하여 수행하거나(for), 반복 여부를 확인하여 수행(while)합니다. for : 횟수 반복 while : 조건 반복 하지만, 흔히 알고있는 c언어의 for 구문(for (int i = 0; i < 10; i++))은 스위프트 3.0에서 삭제됐어요. 오늘은 for-in과 forEach에 대해서 알아볼게요. for-in for 루프상수 in 순회대상 { 실행코드 } 순회대상 : 범위, 배열, 딕셔너리, 집합, 문자열 등이 가능해요. 루프상수 : 순회대상의 아이템을 넘겨받아 실행코드 블록에서 사용할 수 있어요. 와일드카드(_)를 사용하여 생략할 수 있어요. 실행코드 : 반복하여 수행되는 코드에요. 포문에서, 순회대상을 상대로 실행코드를 수행합니다...

반응형