Notice
Recent Posts
Recent Comments
Link
«   2024/09   »
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
Archives
Today
Total
관리 메뉴

주니곰의 괴발노트

SeSAC TIL - 22.07.05 본문

기타

SeSAC TIL - 22.07.05

Jhe2 2022. 7. 13. 20:50

1. 오늘 배운 내용

  • iOS의 계층 구조, Framework 등에 대해서 학습하였습니다. 
  • Core OS -> Core Service -> Media -> Cocoa Touch(UIKit 포함) 의 순서로 계층이 구성되어 있습니다
  • Core OS - Hardware와 가까이 있는 최하위 계층으로 보안, 접근, 네트워크 등을 담당합니다.
  • Core Service - 조도센서, GPS, 중력가속도센서 등 기기의 움직임이나 Hardware의 특성에 기반한 기능을 제공합니다.
  • Media - 음악, 비디오 등을 재생할 때 사용되고 그래픽이나 Media 관련 기능을 제공합니다.
  • Cocoa Touch - Apple Platform에서 App을 제작하기 위한 도구 모음으로 화면의 터치기능이나 UI등을 포함하고 있습니다.

2. Checklist

2-1. UIKit

iOS나 tvOS 등에서 그래픽, 이벤트 동작 기반 인터페이스를 설계하고 관리할 수 있게 해주는 Framework입니다. 인터페이스를 구성하기 위해 화면과 여러 UI관련 기능, 이벤트 동작을 처리하는 기반을 제공합니다. Main Run Loop를 제공하여 사용자와 앱, 시스템간의 상호작용을 관리하기도 합니다. 

 

 


2-2. UIViewController

인터페이스를 관리하고 App의 컨텐츠를 탐색할 수 있게 해줍니다. 단일 Root View를 관리하며 Root View에 여러 Subview를 넣을 수 있습니다. 모든 App에는 최소 한 개의 View Controller가 있으며, 한 화면에 담을 수 없는 양의 컨텐츠가 있을 경우 여러 View Controller를 만들어 여러 종류의 컨텐츠를 관리할 수 있습니다. 생성하는 방법은 Xcode 우측 상단의 + 버튼을 눌러 생성합니다.


2-3. UIView

사용자 인터페이스의 기본 구성 요소이며 직사각형 내의 콘텐츠를 렌더링하며, 상호 작용합니다. View를 서브클래스하여 레이블, 이미지, 버튼 등 UIKit에서 제공하는 기능을 활용할 수도 있습니다. 생성하는 방법은 View Controller와 유사합니다.


2-4. @IBOutlet

Storyboard에 있는 Label, View, Button 등과 연결이 가능하며 연결 후에는 코드를 통해 각 요소들의 형태나 색 등을 변경할 수 있습니다. 항상 사용 전에는 각 요소들이 확실하게 연결되어 있는지 확인해야 하며 연결이 끊어졌을 경우 에러가 발생할 수 있습니다. 앞의 @는 컴파일러에게 어떤 속성을 가지고 있다고 전하는 역할을 하는 예약어입니다. 


2-5. @IBAction

IBOutlet과 마찬가지로 Storyboard에 있는 요소들과 연결할 수 있으며, 어떤 동작을 감지헀을 때 IBAction 내부의 코드를 실행합니다. Output이 Void이기 때문에 return값을 넣을 수 없습니다. 


3. 과제 및 실습

구성한 화면을 코드로 속성 조절하기(Netflix, 배달의 민족)

Netflix

  • 최하단 Image View를 원형으로 만들기 위해 높이 / 2 적용
  • 이미지 중복을 막기 위해 배열을 섞은 후, 0번 Index부터 차례대로 이미지 삽입
  • 재생버튼 누를 경우, 이미지 4개가 랜덤 적용되도록 Action 버튼 생성
  • 이미지 중복을 막기 위해 배열을 섞은 후, 0번 Index부터 차례대로 이미지 삽입

배달의 민족

  • 앱을 실행 시킬 때마다 랜덤으로 이미지가 변경되도록 구성
  • 이미지 중복을 막기 위해 배열을 섞은 후, 0번 Index부터 차례대로 이미지 삽입

4. 자료 출처

구글 검색어: what is uikit -> https://developer.apple.com/documentation/uikit

2-1의 이미지 출처 -> https://developer.apple.com/documentation/uikit/about_app_development_with_uikit

https://developer.apple.com/documentation/uikit/view_controllers

https://developer.apple.com/documentation/uikit/uiview

구글 검색어: iboutlet -> https://etst.tistory.com/74

구글 검색어: iboutlet -> https://www.hackingwithswift.com/example-code/xcode/what-is-an-iboutlet

'기타' 카테고리의 다른 글

SeSAC TIL - 22.07.11  (0) 2022.07.17
SeSAC TIL - 22.07.08  (0) 2022.07.17
SeSAC TIL - 22.07.07  (0) 2022.07.14
SeSAC TIL - 22.07.06  (0) 2022.07.13
SeSAC TIL - 22.07.04  (0) 2022.07.13
Comments