목록2025/07 (21)
Goru
import Foundationfunc getComputerChoice() -> String { let choices = ["가위", "바위", "보"] return choices.randomElement()!}func determineWinner(userChoice: String, computerChoice: String) -> String { if userChoice == computerChoice { return "무승부입니다!" } else if (userChoice == "가위" && computerChoice == "보") || (userChoice == "바위" && computerChoice == "가위") || ..
컬렉션 뷰의 기본 개념UICollectionView는 UITableView와 비슷하게 데이터를 목록형태로 보여주는 뷰입니다. 하지만 컬렉션 뷰는 다양한 레이아웃을 구성할 수 있어 훨씬 유연하고 경력합니다 예) 앱에서 사진 갤러리, 카드 리스트, 정렬 가능한 아이템 목록 .. 컬렉션 뷰를 만들기 위한 필수 구성데이터 소스 설정 : 몇 개의 셀이 있는지, 각 셀에 어떤 데이터를 표시할지func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int)-> Int { return items.count}func collectionView(_ collectionView: UICollectionView, cell..
테이블 뷰의 개념과 동작 원리UITableView의 기본구조- 셀이 여러 개로 구성된 표 형태의 뷰입니다.테이블 뷰 : 데이터를 표시하는 전체 컨테이너 섹션 : 데이터를 구분하는 논리적인 그룹행 : 각 섹션에 포함된 개별 항목을 의미, 각 행은 하나의 셀로 표현셀 : 각 생에 표시되는 항목으로, 보통 사용자에게 보여지는 정보테이블 뷰의 구성 요소 (셀, 데이터 소스, 델리게이트)UITableViewCell : 테이블 뷰에서 개별 항목을 표시하는 기본 단위 , 커스텀 하여 다양한 디자인 적용가능UITableViewDataSource : 테이블 뷰에서 표시할 데이터를 제공하는 프로토콜, 테이블 뷰의 데이터와 셀을 관리UITableViewDelegate : 테이블 뷰에서 발생하는 사용자의 상호작용을 처리 ..
// 과제 1 옵셔널 개념 이해하기var name = "Alice"var age = 20let birthYear = 2003var car: String? = "BMW"print("이름: \(name), 나이: \(age), 출생연도: \(birthYear), 보유차종: \(car)")car = nilprint("이름: \(name), 나이: \(age), 출생연도: \(birthYear), 보유차종: \(car)")print(type(of: car))출력결과이름: Alice, 나이: 20, 출생연도: 2003, 보유차종: Optional("BMW")이름: Alice, 나이: 20, 출생연도: 2003, 보유차종: nilOptional func checkScore() { // 함수 정의 및 사용은 뒤에서 ..
◆ 데이터 모델의 개념과 중요성데이터 모델은 데이터를 표현하는 논리적 구조를 의미하며, 데이터 간의 관계를 정의일반적으로 다음 요소로 구성 : 엔티티, 속성, 관계 데이터 모델이 중요한 이유는 데이터의 일관성 유지 및 효율적인 데이터 관리 ◆ 데이터 모델을 활용한 앱 구조화Model-View-Controller(MVC) 패턴과 데이터 모델의 역할 Model - 애플리케이션에서 다르는 데이터 관리 - 데이터 저장, 가공, 비지니스 로직을 처리 (struct, class, Database, API 통신을 통해 구현)View - 사용자 인터페이스(UI) - 사용자에게 보여지는 화면 - U..
배열 심화: 요소추가, 삭제 , 필터링,정렬// 배열에 요소 추가하기// append(_:) 배열의 마지막에 새로운 요소를 추가할 때 사용var numbers = [1, 2, 3]numbers.append(4)print(numbers) // [1,2,3,4]// insert(_:at:) 배열의 특정 위치에 요소를 삽입할 때 사용var numbers = [1, 2, 4]numbers.insert(3, at:2)print(numbers) // [1, 2, 3, 4]//+- 연산자 배열에 하나이상의 요소를 추가할 때 사용var numbers = [1, 2, 3]numbers += [4, 5]print(numbers) //[1, 2, 3, 4, 5]//배열에서 요소 삭제하기//remove(at:) 특정 인덱스..
함수의 사용해보기//과제1 두 수를 더하는 함수 만들기//문제: 두 개의 정수를 입력받아 합을 반환하는 함수를 작성하세요// 함수이름 addNumbers , 매개변수: num1, num2(정수) , 반환값: 두 수의 합(정수)func addNumbers(a: Int, b: Int) -> Int{ return a + b }let sum = addNumbers(a: 7, b: 8)print(sum)출력결과 15 //과제2 두 수를 비교하는 함수 만들기// 문제: 두 개의 정수를 입력받아 더 큰 수를 반환하는 함수를 작성하세요// 함수이름 : numbersComparison , 매개변수: num1, num2(정수), 반환값: 크기가 더 큰 수 (정수)func numbersComparison(num1: I..
// 과제 1 기본적인 함수 선언// "Hello, Swift!"를 출력하는 함수를 선언하고 호출하세요func sayHello(){ print("Hello, Swift!") }sayHello() // 과제2: 매개변수를 받는 함수 만들기// 문제: 이름을 입력하면 "안녕하세요,[이름]님!"을 출력하는 함수를 작성하세요.// 함수 이름 : greet , 매개변수: name(문자열) , 반환값 없음 (void)func greet(name: String) { print("안녕하세요, \(name)님!") } greet(name: "goru")출력결과 안녕하세요 goru님!
클래스(Class)클래스는 현실 세계의 개념을 코드로 표현해야 할때 사용합니다.예) 사용자의 정보관리(이름,나이,이메일...) , 게임 캐릭터 설계(체력,공격력,방어력), 데이터베이스 연결관리//클래스는 속성(프로퍼티)과 기능(메서드)을 정의하는 사용자 정의 타입//객체지향적으로 프로그램을 구성 할 수 있음.class 클래스이름{ var 속성이름: 타입 init(초기화할값){ self.속성 = 초기화할 값 } func 메서드이름(){ 실행할 코드 } } // 예제class Person{ var name: String var age: Int init(name: String, age: Int){ self.name = name ..
//문제1 : 1부터 N까지의 합 구하기(for문 사용)var N = 5for i in 1...N{ print("1부터 \(N) 까지의 합은") }// N값 상수로 미지정했고 sum을 변수 선언하지 않음. // sum += i 지정에 대해 생각 못함, print를 코드 안에서 실행let N = 5var sum = 0for i in 1...N{ sum += i }print("1부터 \(N) 까지의 합은 \(sum) 입니다.")1 부터 5까지의 합은 15 입니다. //짝수만 출력하기 (for문 & if문 사용)// 1부터 20까지 숫자 중 짝수만 출력하는 프로그램 작성for i in 1...20 { if i%2 == 0{ print(i) } } // 특정 숫자가 나올때 까지 반..