iOS 개발을 하게 되면 화면에 보여지게 되는 요소를 표현하기 위해 다양한 UI 처리를 해야 한다. 화면 내 원하는 위치에 특정 뷰를 위치 시키는 방법은 여러 가지가 있다. frame 또는 bounds 코드베이스 AutoLayout 스토리보드를 활용한 AutoLayout SwiftUI SnapKit FelxLayout + PinLayout 기타 다양한 UI 라이브러리 먼저, SwiftUI에 관한 내용은 오늘 다룰 내용과 너무 멀기 때문에 제외하겠다. SwiftUI에 관한 내용은 별도의 포스트에서 따로 다룰 예정이다. 남은 방법 중에서 실제 개발 시에 frame과 bounds 만을 사용해서 개발하는 경우는 거의 없을 것이다. 그 이유는 다양한 사이즈의 디바이스 화면을 대응하는 것에 불리하기 때문이다. 간단..
클래스 정의하기 Objective-C에서는 클래스를 인터페이스와 구현부로 분리해서 작성한다. 헤더파일에는 클래스의 인터페이스를 작성하여 외부에서 클래스의 프로퍼티나 메서드 등에 접근할 수 있게 한다. Xcode에서 코코아 터치 클래스를 생성하면 자동으로 헤더파일과 구현파일이 분리되어 추가되는 것을 확인할 수 있다. 예를 들어, MyRect라는 클래스의 헤더를 작성한다면 아래와 같이 작성할 수 있다. 인터페이스 //MyRect.h #import NS_ASSUME_NONNULL_BEGIN @interface MyRect : NSObject { int width; int height; } -(instancetype)initWithWidth:(int)w height:(int)h; -(int)getSquare; ..
개요 연계/소속회사 : 한이음 멘토링 사업 수행 기간 : 2021.3 ~ 2021.11 (약 9개월 소요) 주요 역할 : 아두이노 보드 구성 및 Python 기반의 OpenCV를 통한 영상처리, Selenium을 통한 쇼핑몰 리뷰 수집과 분석, Android 앱 구성과 디자인 등 기술 스택 : Python - OpenCV / Arduino / Android OS / Server - AWS / DB - MySQL / 협업툴 - Notion / VCS - Git, Gitlab 업무 성과 : 2021년 한이음 멘토링사업 프로젝트의 지원으로 진행된 프로젝트입니다. TTOKSHOW는 아두이도 보드를 활용하여 상품의 바코드를 인식하고 해당하는 데이터를 서버와 통신하여 DB에 저장된 데이터를 가져옵니다. 다양한 상품..
개요 연계/소속회사 : 한이음 멘토링 사업 수행 기간 : 2020.3 ~ 2020.11 (약 9개월 소요) 주요 역할 : AI 드론 라즈베리 파이 구성 및 Python 기반의 YOLO Darknet을 통한 인공지능 영상처리 등 기술 스택 : Python - YOLO Darknet / Rasberry Pi / Linux OS / 협업툴 - Notion / VCS - Git, Gitlab 업무 성과 : 2020년 한이음 멘토링사업 프로젝트의 지원으로 진행된 프로젝트입니다. AI Drone의 자율비행을 통해 산악지형을 비행하고, YOLO 기반의 영상처리를 통해 산불을 미리 감지하고 조난자를 수색하는 DOLO를 제작하였습니다. 1년 간의 프로젝트 결과 한이음 공모전에 입상하였습니다. 프로젝트 설명 한국정보산업연..
현재 많은 곳에서 iOS를 개발할 때, Swift 언어를 사용해서 개발을 한다. 이 Swift 언어는 애플의 WWDC14에서 공개된 언어이다. 하지만 iOS의 역사는 Swift 공개 이전에 Objective-C라는 언어와 함께해왔다. Objective-C는 80년대부터 사용된 역사가 깊은 언어로 C 언어에서 파생된 객체지향적 언어이다. 스티브 잡스가 이 언어를 애플의 표준 프로그래밍 언어로 사용하기 시작하면서 현재까지도 iOS 개발의 많은 곳에 영향을 끼치고 있다. 실제 현업에서의 코드 중에서 오래된 레거시 코드가 Objective-C로 작성된 것들이 있기도 하고, 다양한 근본 있는(?) 라이브러리를 연결하다 보면 자연스레 이 언어와 마주하는 일이 발생한다. Swift는 Obejctive-C와 긴밀하게 ..