UMC 7

[프로젝트] UMC 2기 프로젝트 - 리브로그 앱

UMC에서 3달 간의 iOS 교육을 받고, 2달 간 앱 프로젝트를 진행하였다. [앱 프로젝트 선정 기준] 나는 이번에 iOS를 처음 해보는 것이었기 때문에, 최대한 쉬워보이고 간편해 보이는 앱 프로젝트에 지원했었다. 1. 채팅이 없는 앱 (웹소켓 쓰기 두려웠음) 2. 이미지를 서버로 보낼 일이 없는 앱 (안드로이드할 때 너무 고생해서 피하고 싶었는데...결국 하게 됨) (그치만 생각보다 수월했음) [멤버 구성] PM 1명 iOS 2명 (내가 파트장ㅋ) Android 2명 Node.js 4명 디자이너 1명 서버쪽은 사람 많아서 좋겠다. 왜냐면 지금 프론트는 딱 죽을 맛이기 때문이다. 두명이서 앱 하나 완성시키려고 아주 ... 와중에 iOS는 나 혼자 만들었다. 승희야... 열심히 좀 해주라... [앱 미리..

[iOS 오류] unrecognized selector sent to instance... 오류

unrecognized selector sent to instance... 오류 처음에 이 오류가 났을 때에 구글링을 해보았는데, 다들 Outlet 문제였고 이걸 다시 연결해주면 된다고들 하였다. 그러나 아무리 Outlet 연결을 다시해주고, clean project 를 해주어도 오류가 해결되지 않았다. 그러던 중 단비와 같은 오류해결 글을 보았다. https://jeongupark-study-house.tistory.com/163 iOS에서 underscore(_) 는 무엇이고, unrecognized selector sent to instance 은 왜 발생할까? iOS 개발을 인수인계 받고 열심히 개발을 하고 있을 때였습니다. 한 func의 이름을 매우 일반적인 이름으로 작성을 하고 테스트를 해보았..

UMC/iOS 교육 2022.05.26

[iOS] [M1] Alamofire 설치 오류

Alamofire은 iOS 개발할 때 서버를 연동하는 대표적인 라이브러리이다. 근데 강의 보고 똑같이 설치했는데도 자꾸 에러가 나서 한참 고민했다. 근데 m1 문제였다. m1 나온지가 언젠데 아직도! 어이없었다. 참내 Ruby FFI 라이브러리 업데이트 후 재설치 sudo arch -x86_64 gem install ffi arch -x86_64 pod install 이렇게 해주니 되었다. 강의에서는 그냥 sudo gem install ffi 와 pod install 명령어만 써주었었다. M1은 arm 기반이라 arch 명령을 수행해보면 arm64라고 나온다. 따라서 아키텍쳐를 x86_64 로 지정해서 설치해주어야한다. 도움받은 링크: https://ondemand.tistory.com/340

UMC/iOS 교육 2022.05.12

[iOS] 4주차

INDEX 프로토콜 지향 언어 ArrayList DataSource Delegate 프로토콜 지향 언어 스위프트는 프로토콜 지향 언어이다. (Protocol-Oriented language) 스위프트는 대부분 구조체로 이어져있고, 구조체는 상속이 불가능하다는 특징을 가진다. 상속도 되지 않는 구조체를 가지고 다양한 공통기능을 가질 수 있던 이유는 뭘까? 바로 Protocol과 Extension에 있다. 프로토콜 지향 프로그래밍이란? 필요한 부분만을 프로토콜로 분리하여 프로그래밍하는 것 예제) 프로토콜 사용법 1. Talkable 이라는 프로토콜을 정의한다. protocol Talkable { var topic: String { get set } func talk(to: Self) } 2. Talkable..

UMC/iOS 교육 2022.04.04

[iOS] 3주차

INDEX UIImageView.contentMode textField.placeholder layer IBAction IBOutlet Gesture 화면 전환 UINavigationController 화면 생명 주기 StackView UIImageView.contentMode : 컨텐츠의 사이즈에 따라 어떻게 보여질 지 뷰를 결정하는 옵션 ContentMode의 종류 scaleToFill 이미지의 높이와 너비는 UIImageView의 크기와 일치하도록 늘어납니다. AspectFit이렇게 하면 전체 이미지를 표시하면서 높이나 너비를 왜곡시키지 않으면서 가능한 한 이미지를 크게 만듭니다. 이미지의 가장 긴쪽(높이 또는 너비)은 뷰와 일치하도록 늘어납니다. AspectFillAsepct Fit처럼 이미지의 ..

UMC/iOS 교육 2022.04.04

[iOS] 2주차 - AutoLayout

AutoLayout 뷰의 위치와 크기를 정할 땐, Frame과 AutoLayout을 통해 지정할 수 있다. 이 둘의 차이를 알아보자. Frame VS AutoLayout Frame으로 뷰를 그리면, 어떤 해상도에서든 같은 크기와 같은 위치를 유지하기 때문에, 기종에 따라서 다르게 보일 수 있다. 모드 기기별로 해상도를 받아서 일일히 짜주는 게 아닌 이상 비효율적인 layout이다. 이 점을 보완하기 위해 등장한 것이 Auto Layout이다. AutoLayout이란? 제약 조건(Constraints)에 따라 뷰 계층 구조에 있는 모든 뷰의 크기와 위치를 동적으로 지정하는 것 Frame처럼 좌표를 직접 정해주는 것이 아닌, 다른 객체를 이용해 ‘상대적'으로 제약(Constraints)을 주는 것이다. → ..

UMC/iOS 교육 2022.03.22

[iOS] 1주차

INDEX 절차 지향 언어 & 객체 지향 언어 [swift] Optional UIKit 변수 선언 함수 Struct & Class What is "init()" ? Break Point 절차 지향 & 객체 지향 절차 지향 프로그래밍 절차 지향 프로그래밍이란 코드가 위에서 아래로 물 흐르듯이 순차적으로 처리되는 프로그래밍이다. 때문에 코드 전체가 유기적으로 연결되어있고, 컴퓨터의 처리구조와 비슷해 실행속도가 빠른 편이다. 대표적인 절차 지향 언어에는 C언어가 있겠다. 그러나, 실행 순서가 정해져있으므로 만약 코드의 순서가 바뀌면 동일한 결과를 얻지 못하는 경우가 생길 수 있다는 단점이 있다. 또한 유지보수가 어렵다는 치명적인 단점이 있어, 이를 보완하기 위해 모듈화, 캡슐화하여 개념적으로 접근하는 형태를 ..

UMC/iOS 교육 2022.03.14
1