이번에 공부한 내용은, 스크롤뷰에 대한 내용입니다. 요건 ImagePicker 같은 곳에서 이미지를 Crop 할 때 자주 사용될 법한 기능이라고 생각이 되네요! 이번 강의의 챕터에서는 사진 앨범 앱을 만드는데, 이런 공부를 통해 이미지를 확대하는 기능을 추가하는 방법에 대한 공부를 할 수 있을 거라 생각이 됩니다! 혹시 강의에 관심이 있으신 분이라면, 아래 링크를 눌러주세요. 모든 강의와 강의자료가 높은 수준임에도 무료로 개방되어 있고, 네이버 아이디로도 이용할 수 있을 만큼 진입장벽이 낮은게 장점이라고 생각됩니다. 매 챕터마다 프로젝트로 작은 앱을 만들며 공부를 할 수 있기 때문에, 결과물을 내면서 공부하는데 성취감도 느낄 수 있어서 개인적으로 되게 좋은 것 같아요! https://www.edwith...
[iOS 앱 개발 - Swift] 앱 내에서 앨범 사진 삭제하기 이전 포스팅에서 올렸던, 사진을 앨범에서 읽어와 테이블뷰의 셀에 올린 프로젝트에서 이어서 작성하고자 합니다! > https://etst.tistory.com/111 < 바로 요것! PHPhotoLibraryChangeObserver 프로토콜 추가하기 사진 라이브러리가 변경된 경우 이를 읽고 변경사항을 알려주거나, 라이브러리를 변경하고자 할 때 사용해줄 수 있는 프로토콜입니다. 이를 채택하고 준수하여 사진첩 편집에 이용하면 됩니다. 밀어서 삭제하기 먼저, 셀을 삭제하는 기능을 만들어봅시다. 이런 기능은 애플에서 잘 만들어서 제공을 하기때문에, 우리가 할 일은 감사합니다! 하고 받아서 쓰면 돼요. ㅋㅋㅋㅋ 그러려면 공식문서를 잘 읽고 필요한 기..
[iOS 앱 개발 - Swift] Photos Framework 사용하기 이 글은 edwith의 부스트코스 iOS 프로그래밍이라는 강좌를 들으며 혼자 공부한 내용을 글로 정리하며 작성한 포스팅입니다. 이번 강의는 챕터 4의 첫 번째 강의입니다. 갈수록 살짝씩 어려워지는 느낌이 들긴하지만 ㅋㅋㅋ 입문용 강의로는 그래도 정말 괜찮은 것 같아요. 어제 교보문고에 들러서 Swift 책을 하나 구입해서 옆에 두고 헷갈리는 내용을 참고하려고 몇개 살펴봤는데, Swift 교과서! 이런 느낌의 책을 펼쳤는데 거의 다 아는 내용이라 그냥 덮었거든요. 그만큼 이 강의가 괜찮은 것 같아요! 강의 전체랑 강의자료도 공짜로 제공되는데 네이버 아이디로도 수강할 수 있을만큼 접근성이 좋아서 프로그래밍을 기본적으로 할 줄 아시는 분..
[iOS 앱 개발 - Swift] Swift 에서 JSON 다루기 edwith의 부스트코스 iOS 앱개발 강의를 들으며 공부한 내용을 정리한 포스팅이예요. 이 글에 나오는 예제파일이나 코드는 강의에 나오는 코드입니다. 아이폰 앱개발에 관심이 있으신 분은 아래 링크를 확인해보세용 https://www.edwith.org/boostcourse-ios/lecture/20146/ [LECTURE] 3) JSON 다루기 : edwith 강의 영상 - 부스트코스 www.edwith.org JSON 다루기 이번 글에서는 JSON 데이터로 Encode, Decode 하는 방법과 이용하는 방법에 대해 작성해볼게요. 이에 대한 설명은 앞 포스팅에 작성되어 있습니다! JSON 데이터 형식만들기 일단, JSON 데이터로 사용..
[iOS 앱 개발 - Swift] Codable과 CodingKey, JsonEncoder와 JsonDecoder 객체를 저장하고 파일로 만들 때, 그 자체를 코드화를 하면 저장공간을 비효율적으로 사용하게되고, 검색등으로 찾거나 처리를 할 때 시간이 더 소요되고, 보안적인 문제가 발생할 수도 있습니다. 정보를 효율적이고 안전하게 저장하기 위해서 인코딩 (Encoding) 과정을 거쳐, 정보를 표준화 및 암호화합니다. 이 데이터를 다시 원래 객체의 모습으로 돌리는 과정을 디코딩(Decoding) 이라고 합니다. Swift 에서는 인코딩과 디코딩을 위한 프로토콜 ( Encodable, Decodable) 을 이미 만들어두었습니다. 보통 두 프로토콜이 함께 쓰이기때문에, 둘을 함께 엮은 Codable 프로토콜..
2번째 부스트코스 코드리뷰를 받았습니다. 이번 프로젝트에서는 배운 것도 많았고, 고민한 것도 많았고, 아쉬운 것도 많았네요 ㅋㅋㅋ 이번에 코드리뷰를 어떻게 받았는지 한 번 보여드리도록 하겠습니당!! 이번에 제출한 프로젝트는 iOS 프로그래밍 강의의 두번째 챕터의 프로젝트인 간단한 회원가입 화면과 기능을 구현하는 앱 이였어요. 챕터 1과 2에서 배웠던 내용들이 거의 다 나왔던 것 같네요. ImagePicker, 오토레이아웃, 데이트피커, IBOutlet으로 값 가져오기, 탭 제스쳐 인식하기 등등 많은 내용들을 프로젝트에서 다시 한 번 써먹어 보면서 머리에 집어넣었습니다. 따로 복습을 챙겨서 할 필요가 없을 것 같네요 ㅋㅋㅋ 아래 이미지처럼, 화면 구성이나 기능 구현에 있어서 어떻게 작동시켜야 할지에 대해 ..
[iOS 앱개발 - Swift] 뷰 / 셀의 재사용 애플제품을 사용하는 걸 고려해본 사람이라면 ( + 성능에 관심이 있는 사람이라면 ) 애플이 iOS 기기들의 메모리에 굉장히 인색하다는 걸 알고있을 겁니다. 제가 갤노트2를 쓰고있을 때도( 약 2년전? ) 최신 아이폰이 갤노트2와 메모리용량이 같다는 걸 듣고 왜 그렇게 만들었을까를 생각해본 적이 있었는데, 메모리관리를 되게 효율적으로 잘 할 수 있도록 OS와 앱들 자체를 만들어놔서 그렇다는 결론이 나왔었어요. 이번에 공부한 내용도 이 작은 메모리를 관리하는 방법입니다! 재사용 만약에 사용자에게 보여줘야 할 데이터가 굉장히 많은데 메모리가 이를 담기에 부족하다면, 메모리를 효율적으로 관리해서 정보를 전달할 수 있도록 해야합니다. 전달을 위해 사용하는 요소들..
[iOS 앱개발 - Swift] 테이블뷰에 커스텀셀 추가 이전까지는 기본으로 제공되는 셀의 스타일을 이용했다면, 이번포스팅에서는 원하는 모양으로 셀을 만드는 방법을 알아봅시다! 우선 이전 포스팅에서 만들어 둔 테이블 뷰를 재활용하는 걸로 할게요. 어차피 단순하게 만들어둔 테이블이라 편하게 만들어서 사용하면 될 것 같네용! 이 포스팅은 edwith 의 부스트코스 iOS 프로그래밍 강좌를 보면서 공부한 내용을 정리하는 글입니다. 3번째 프로젝트의 테이블뷰에 대한 공부예요! 모든 강의와 자료가 무료이고, 네이버 아이디로도 이용할 수 있답니다. 관심이 있으신 분은 여기로! Storyboard에 배치하기 일단 테이블뷰에 새로운 셀을 추가해줍니다. Inspector 에서 해당 셀의 Style을 Custom으로, I..
[iOS 앱개발 - Swift] 테이블뷰에 동적으로 셀 추가하기 지난번 포스팅에 만들어둔 테이블 뷰에 실행중에 버튼을 누르는 등의 액션으로 테이블 뷰에 셀을 추가하는 방법을 알아봅시다! 크게 어렵지는 않다고 생각이 드네욤! 일단 새로운 셀을 추가시키는 버튼을 스토리보드를 통해 배치해줍시다. 버튼을 끌고 테이블 뷰 위에 올려두면 셀처럼 테이블뷰의 요소로 포함되게 됩니다. 또, TextField를 하나 배치해서, 여기에 입력된 데이터를 새로 생성되는 셀의 타이틀로 넣어주도록 합시다! 이제 이 버튼을 누르면 어떤 액션을 취할지를 View Controller에 코드로 작성해줍시다. 우선 추가될 셀이 앞서 작성했던 0번, 1번 섹션 말고 2번 섹션에 포함되도록 앞에 작성했던 코드에서 섹션 개수를 수정해줬습니다. ..
앞에서 공부했던 내용들을 이용해서 TableView의 구성을 직접 한 번 만들어봅시다! 이번의 목표는 아래 이미지의 테이블 뷰예요. 새 프로젝트를 하나 만들어서, StoryBoard에서 테이블 뷰를 하나 만들어주고, Table View, Table View Cell 을 올려줬어요. 그 다음에 Table View를 control 키와 함께 클릭해주면 보여지는 Outlet 창에서 DataSource와 Delegate를 View Controller와 연결해줍니다. 이 뷰 컨트롤러가 해당 테이블 뷰의 외형과 설정을 담당하겠다는 뜻이예요. 물론 이 내용도 코드를 통해 작성해줄 수 있습니다. 그 다음, Outlet으로 테이블 뷰를 코드와 연결해주고, 테이블 뷰에 담고싶은 데이터를 작성해줬어요. (데이터는 데이터소스..