[iOS프로그래밍실무] 11주차 root view controller 이 용어를 알아야 한다. 시험에 꼭 나온다. 구분 Action Segue Manual Segue정의버튼이나 UI 요소에 Control-drag 해서 연결하는 Segue코드로 직접 **performSegue()**를 호출하여 수행하는 Segue트리거 방식사용자의 UI 액션(버튼 클릭 등)에 의해 자동으로 발생특정 조건에서 코드로 명시적으로 실행Storyboard 연결UI 요소에서 바로 다른 ViewController로 연결Storyboard에서 Segue 식별자를 지정해놓고 사용코드 필요 여부필요 없음 (UI에서만 설정 가능)필요함 (performSegue(withIdentifier:) 호출 필요)사용 예시"로그인" 버튼을 눌렀을 때 ..
[iOS프로그래밍실무] 10주차 https://developer.apple.com/documentation/foundation/jsondecoder JSONDecoder | Apple Developer DocumentationAn object that decodes instances of a data type from JSON objects.developer.apple.com 이 에러도 시험에 나옴. 예외처리가 안 돼서 발생한 에러이다. 이것도 시험에 나온다이런 에러가 왜 나오게요 ? 이 에러 왜 떴을까? //// ViewController.swift// MovieLSY//// Created by 소프트웨어컴퓨터 on 2025/05/08.//import UIKitlet name = ["야당..
[iOS프로그래밍실무] 8주차 https://kobis.or.kr/kobisopenapi/webservice/rest/boxoffice/searchDailyBoxOfficeList.xml?key=c7362d5762a95cf37a45f376ded0bf56&targetDt=20250507 UITableViewDelegate 와 UITableViewDataSource 를 추가했을 때 이 에러가 뜨는 현상은필수메서드를 구현하지 않았기 때문이다 fix 를 누르면 해당 두 메서드가 필수메서드임을 알 수 있다 //// ViewController.swift// moviekj//// Created by 소프트웨어컴퓨터 on 2025/05/08.//import UIKitclass ViewController: UIV..
[iOS프로그래밍실무] 7주차 열거형(enum)을 지원하는 주요 프로그래밍 언어를 아래에 정리했습니다. 열거형은 주로 정해진 값들의 집합을 정의할 때 사용되며, 언어별로 구현 방식과 기능이 약간 다릅니다. 모든 언어를 다루는 것은 어렵지만, 널리 사용되거나 대표적인 언어들을 중심으로 예시와 함께 설명하겠습니다.1. C설명: C 언어에서 enum은 정수형 상수 집합을 정의합니다. 기본적으로 각 열거 값은 0부터 시작하는 정수로 매핑됩니다.예시:c 복사enum Day { MON, TUE, WED, THU, FRI, SAT, SUN }; enum Day today = WED; // today는 2 (0부터 시작)2. C++설명: C++는 C의 enum을 확장하여 enum class를 지원합니다. enum cl..
[iOS 프로그래밍실무] 6주차 옵셔널을 언래핑하는 여러가지 방법 textLabel 은 UILabel? 형이므로 옵셔널 체이닝 필요- textLable은 UILabel?형이므로 바로 text 에 접근 불가 (옵셔널을 언래핑한 후 .text로 접근해야 함)- cell.textLabel!.text 로 써도 되지만 옵셔널 체이닝이 더 안전하므로 cell.textLable?.text 로 씀 옵셔널 체이닝 쓰는 이유- 옵셔널 타입으로 정의된 값이 프로퍼티나 메서드를 가지고 있을 때, 다중 if를 쓰지 않고 간결하게 코드를 작성하기 위해- 옵셔널 타입의 데이터는 연산이 불가능 if let s = p.sns { if let f = s.fb { print("\(f.account)") }}print("\..
[iOS프로그래밍실무] 5주차 이것이 정말 중요하다고 한다!! 부모는 상속하는 거고 프로토콜을 채택하는 것이다특정한 클래스와 관련없는 함수들의 목록을 나열한 것들을 프로토콜이라고 한다 여기 보이는 필수 메서드 2개를 반드시 구현해야하고 구현하지 않으면 에러가 난다 저런 일을 하고 싶다고 하면 이런 메소드에 기능을 구현하고 함수를 정의를 해 주어야 한다 오늘 써볼 것은tableView(_:didSelectRowAt:)사용자가 특정 셀을 선택했을 때 호출. 셀 선택 시 실행할 동작을 정의 한 칸 한 칸을 셀이라고 한다 섹션과 행(row) 셀(cell) 이 뭔지 확인하자 Table View Controller 에는 Table View 와 Table View Cell 이 다 포함 되어 있다 ..
[iOS프로그래밍실무] 4주차 import UIKit // UIKit 프레임워크를 임포트하여 사용자 인터페이스 요소를 사용할 수 있게 함// ViewController 클래스 정의, UIViewController를 상속받음class ViewController: UIViewController { // 뷰가 메모리에 로드된 후 호출되는 메서드 override func viewDidLoad() { super.viewDidLoad() // 부모 클래스의 viewDidLoad 메서드를 호출하여 기본 설정을 수행 // 뷰가 로드된 후 추가적인 설정을 수행할 수 있는 곳 // 여기서 UI 요소를 초기화하거나 데이터를 설정할 수 있음 }} import..
[iOS프로그래밍실무] 3주차 iOS 나이트라이트 앱 개발 기획서1. 프로젝트 개요프로젝트명: NightLight목표: 사용자에게 편안한 취침 환경을 제공하고, 수면의 질을 개선하며, iOS 앱스토어에서 경쟁력 있는 나이트라이트 앱을 개발하여 높은 다운로드 수를 기록한다.타겟 사용자: 수면에 관심이 많거나 야간에 스마트폰을 자주 사용하는 18~45세 iOS 사용자.개발 플랫폼: iOS (Swift 기반)2. 시장 분석앱스토어 다운로드 상위 앱 트렌드iOS 앱스토어에서 다운로드 수가 많은 앱들을 분석한 결과, 2025년 기준으로 다음과 같은 카테고리와 특징이 두드러짐:소셜 미디어 (예: TikTok, Instagram)특징: 짧고 중독성 있는 콘텐츠, 커뮤니티 중심 기능, 개인화된 사용자 경험.다운로드 ..
[iOS프로그래밍실무] 2주차 데이터 타입 (자료형), 상수(let), 변수(var) 데이터 타입 (Data type)- swift 에서 숫자를 저장하기 위한 변수 선언- var myNumber = 10 //lowerCamelCase, UpperCamelCase- myNumber 이라는 이름의 변수를 만들고 숫자 10을 할당- var myNumber : Int = 10 //int x = 10; //C언어- Bool, Character, Int, Float, Double, String, Voidvar x = 10print(type(of:x)) //Int 일반적으로 초깃값을 주지 않을 경우에만 자료형을 씀 ex) var welcomeMessage: String // 초깃값이 없으므로 자료형을 직접 표기함- ..