iOS 25

[iOS] Swift 문법 복습

더보기이 포스트는 한성현 교수님의 iOS 프로그래밍 실무를 듣고 작성하였습니다.# 자료형var x = 10print(type(of:x))let s = MemoryLayout.size(ofValue: x)//8let t = MemoryLayout.sizeprint(s, t) 자료형의 종류와 크기에 대해 알 수 있습니다. 실제로 초깃값이 있으면 자료형을 작성하는 경우는 거의 없습니다.상수나 변수가 정의된 시점에 초깃값을 제공하면, Swift는 해당 상수나 변수에 사용될 자료형을 추론이 가능합니다.let myAge = 25let pi = 3.141592myAge 는 Int 형으로 추론이 가능하며, pi 는 Double 으로 추론이 가능합니다. 자료형에는 다양한 종류가 있습니다.Int : 정수(소수점이 없는 ..

iOS 2025.03.18

[iOS] 생성형 AI 및 오픈 API 활용

더보기이 포스트는 한성현 교수님의 iOS 프로그래밍 실무 수업을 듣고 작성되었습니다.시작하기 전에 간단하게 네 가지 종류의 생성형 AI 에게 질문을 해 본 뒤, 비교해 보겠습니다.질문사항은 "나는 flutter 앱 개발자로 취업하려고 하는데 제일 많이 묻는 질문을 100 개 정도 만들고 답변을 짧게 해 줘" 로 통일하였습니다. 먼저, 뤼튼의 답변입니다.앱 개발자로 취업을 준비하는 데 도움이 될 수 있는 Flutter 관련 자주 묻는 질문 100개와 간단한 답변을 아래에 정리해 보았습니다.1. **Flutter란 무엇인가요?**   - Google의 UI 툴킷으로, 하나의 코드베이스로 iOS와 Android 앱을 개발할 수 있습니다.2. **Flutter의 장점은 무엇인가요?**   - 빠른 개발, 아름다..

iOS 2025.03.05

[iOS] 클로저 Closure

더보기이 포스트는 한성현 교수님의 iOS 프로그래밍 기초 수업을 듣고 작성하였습니다.오늘은 Swift 클로저를 간단하게 정리해 보는 포스트를 작성해 보겠습니다. # 클로저먼저, 클로저를 설명하기 전에 클로저를 지원하는 프로그래밍 언어는 무엇이 있을까요?JavaScript: 클로저가 기본적으로 지원되며, 함수 내에서 변수를 캡처하여 외부에서 접근할 수 있도록 합니다.Python: 내부 함수를 사용하여 클로저를 만들 수 있습니다.Ruby: 블록, 프로시저, 또는 람다를 통해 클로저를 지원합니다.Swift: 클로저라는 개념을 도입하여 기능을 제공합니다.Scala: 함수형 프로그래밍을 지원하며 클로저를 사용할 수 있습니다.Lisp: 클로저의 개념을 처음 도입한 언어 중 하나입니다.xcode 의 playgroun..

iOS 2024.12.11

[iOS] BMI 계산기 앱 3

더보기이 포스트는 한성현 교수님의 iOS 프로그래밍 기초 수업을 듣고 작성되었습니다.오늘은 3 주 동안 만들어오던 BMI 계산기 앱을 완성해 보겠습니다.먼저, 들어가기 전에 오토 레이아웃에 대해 알아 보며 시작하겠습니다. # Auto LayOut이는 iOS 및 macOS 앱 개발에서 사용되는 레이아웃 시스템으로,다양한 화면 크기와 해상도에 적응할 수 있도록 UI 요소의 위치와 크기를 자동으로 조정하는 기능입니다. 이의 특징으로는1. 제약 조건(Constraints): 오토 레이아웃은 UI 요소 간의 관계를 정의하는 제약 조건을 사용하여 요소의 위치와 크기를 결정합니다.예를 들어, 한 요소가 다른 요소의 위, 아래, 왼쪽, 오른쪽에 얼마나 떨어져 있는지를 설정할 수 있습니다.2. 유연성: 다양한 화면 크기..

iOS 2024.12.04

[iOS] BMI 계산기 앱 2

더보기이 포스트는 한성현 교수님의 iOS 프로그래밍 기초 수업을 듣고 작성하였습니다.저번 포스트에서 작성하던 것에 이어서 앱을 더욱 완성도 있게 만들어 보겠습니다.  @IBAction func playVideo(_ sender: UIButton) { }먼저, 비디오 창에 있는 Play 버튼을 생성해 준 뒤에 playVideo 라는 action 을 지정해 주었습니다.그 다음 생성형 AI 를 이용하여 Action 내에 코드를 작성해 보았습니다. guard let filePath = Bundle.main.path(forResource: "APT", ofType: "mp4") else { print("APT.mp4 파일을 찾을 수 없습니다.") ..

iOS 2024.11.27

[iOS] BMI 계산기 앱

더보기이 포스트는 한성현 교수님의 iOS 프로그래밍 기초 수업을 듣고 작성하였습니다.저번 포스트에서 UI 를 만들었습니다.이제 기능을 Action 을 지정해 주도록 하겠습니다. # Action, Outlet 지정Height, Weight, BMI 계산, 결과 네 가지에 액션과 아웃렛을 지정해 보도록 하겠습니다.control + 드래그 하여 액션 및 아울렛을 지정하면 됩니다.총 이렇게 세 가지 아울렛과 한 가지 액션을 지정해 주었습니다. # 코드 추가다음으로는 코드를 더 작성해 주겠습니다.저는 calcBmi Action 부분에  let weight = 60.0 let height = 170.0 let bmi = weight / (height*height*0.0001) // kg/m..

iOS 2024.11.20

[iOS] 간단한 앱 구현

더보기이 포스트는 한성현 교수님의 iOS 프로그래밍 기초 수업을 듣고 작성되었습니다.이번 포스트는 저번 iOS 포스팅에 이어서,교수님이 주신 개발된 앱 소스를 분석한 뒤 간단한 앱을 만드는 것을 포스팅해 보겠습니다. # 페이지 컨트롤이 앱은 페이지를 이동하는 페이지 컨트롤 앱입니다.이렇게 하나의 페이에서 여러 개의 화면을 보여 주는 앱이라고 볼 수 있습니다.화면을 터치하면 다음 장으로 이동하며 사진이 바뀌게 되는 것을 확인할 수 있습니다. 다음으로는 소스를 분석해 보겠습니다.import UIKit // UIKit 프레임워크를 가져옵니다.var images = [ "01.png", "02.png", "03.png", "04.png", "05.png", "06.png" ] // 이미지 파일 이름 배열clas..

iOS 2024.11.13

[iOS] 간단한 앱 구현

더보기이 포스트는 한성현 교수님의 iOS 프로그래밍 기초 수업을 듣고 작성되었습니다. # 복습지난 번에 포스팅 했던 내용을 똑같이 만들어 보면서 복습을 해 보았습니다.xcode 의 Object 들을 사용하여 Text, TextField, Button, imageView 등을 배치해 보았습니다.저는 이런 식으로 구성해 보았습니다. 시뮬레이터 내에서 기능을 실행시키기 위해 코드를 작성하며 Object 들에 기능을 추가해 보도록 하겠습니다.옆 화면에 ViewController 를 띄우고 control 과 함께 작성하고 싶은 부분의 코드창까지 드래그하게 된다면 이와 같은 화면이 나타나는 것을 확인해 볼 수 있습니다.이렇게 직접 지정해 주게 되면 코드가 자동으로 작성이 되니 {} 안에 세부 코드만 작성해 주면 됩..

iOS 2024.11.06

[iOS] 간단한 앱 개발

더보기이 포스트는 한성현 교수님의 iOS 프로그래밍 기초 수업을 듣고 작성하였습니다. 지금까지 Swift 공부를 할 때는 Playground 에서 문법 공부를 진행해왔습니다.하지만 오늘은 간단한 앱 개발을 진행해 볼 것이니, 앱 프로젝트 파일을 생성하여 시작하겠습니다.본격적인 앱 개발 전에 xcode 의 project 화면을 하나 하나 보며 적응해 보겠습니다.  저는 Hello 라는 이름으로 프로젝트를 생성해보았습니다.  생성하고 나면 이 화면이 나옵니다.xcode 의 navigator 은 총 9 개가 존재합니다. 다음으로는 Inspectors 화면을 알아보겠습니다.이는 보통 7 개로 표시가 됩니다. Main 화면으로 돌아와서 스토리보드로 앱 UI 를 만들어 보겠습니다.디자인의 영역은 보통 Safe Ar..

iOS 2024.10.30

[iOS] 클래스 failable initialize 상속

더보기이 포스트는 한성현 교수님의 iOS 프로그래밍 기초 수업을 듣고 작성하였습니다.# 클래스클래스랑 인스턴스에 대해 먼저 설명해 보면서 들어가겠습니다.클래스와 인스턴스는 객체 지향 프로그래밍의 핵심 개념이라고 볼 수 있습니다.클래스부터 객체가 나와야만 객체 지향 언어라고 말할 수 있기 때문인데요. 그렇다면 클래스는 무엇일까요?클래스는 객체를 정의하는 설계도라고 생각해 보겠습니다. 객체가 가져야 할 속성(변수)과 동작(메서드)을 미리 정의해 놓은 것입니다.예를 들어, Car 라는 클래스를 정의하면 클래스는 자동차가 가져야 할 속성(바퀴 수, 색상)과 기능(주행하기, 멈추기) 을 정의합니다. 다음으로는 객체에 대해 알아보겠습니다.객체는 클래스를 기반으로 만들어진 실체입니다. 설계도를 이용해 실제 자동차를 ..

iOS 2024.10.16