241205 iOS프로그래밍기초 14주차
·
iOS프로그래밍 (2학년 2학기)
타인의 앱을 가져오는 방법ViewController를 복사한 후, 나의 프로젝트에 붙여넣기 한다.아래 사진처럼 왼쪽 맨아래의 +부분을 눌러서 cocoa touch class로 새로운 파일을 만든다.viewcontroller파일을 이름에 맞게 만들었으면 소스와 액션을 수정한 후, tab bar도 연결하여 처리하면 된다. 지금까지 배웠던 언어 중 클로저(Closure)를 지원하는 프로그래밍 언어JavaScriptPythonJava (Java 8 이상)C# (C# 2.0 이상)SwiftPHP (PHP 5.3 이상)디폴트 인자(매개변수) - self.present(playerController, animated: true) player.play()매개변수도 없고 리턴값도 없는 함수를 세번째 인자에 넣어야 한다...
241128 iOS프로그래밍기초 13주차
·
카테고리 없음
보호되어 있는 글입니다.
241121 iOS프로그래밍기초 12주차
·
iOS프로그래밍 (2학년 2학기)
class가 각각 해당하는 controller로 뜨는게 맞는지 확인video Scene에 버튼 추가 후 title을 삭제하고, 사진을 추가해준다. 아래 드래그 되어있는 줄의 AVPlayer는 AVKit을 import해야만 쓸 수 있다.import UIKitimport AVKitclass VideoViewController: UIViewController { // 비디오 재생 버튼이 탭되었을 때 호출되는 액션 메서드 @IBAction func playVideo(_ sender: UIButton) { // 앱 번들에서 "maru.mp4" 비디오 파일의 경로를 찾음 let videoPath: String? = Bundle.main.path(forResource: "maru", ofType: "..
241114 iOS프로그래밍기초 11주차
·
iOS프로그래밍 (2학년 2학기)
Outlet과 Action 추가하기BMI를 계산하는 소스를 작성한 뒤, Simulator로 돌려보면 console창에 결과가 뜨는 것을 알 수 있다. 위의 코드에 다음과 같은 코드를 추가하여 Simulator화면의 결과창에 결과가 뜨도록 수정한 모습lblResult.text = "BMI:\(shortenedBmi), 판정:\(body)"아래 코드에서 느낌표(!)가 두 번 사용되는 이유let height = Double(txtHeight.text!)!let weight = Double(txtWeight.text!)!1. 첫 번째 느낌표 (`txtHeight.text!`):   - `UITextField`의 `text` 속성은 옵셔널 문자열(`String?`)입니다.   - 첫 번째 느낌표는 이 옵셔널 문자..
241107 iOS프로그래밍기초 10주차
·
카테고리 없음
08 맵 뷰로 지도 나타내기프로젝트를 처음 열었을 때 Main.storyboard를 열어 어떤 프로그램두번째로 확인할 것은 어떤 아웃렛과 액션이 있는지 확인하기. (View Controller를 클릭 후 오른쪽 화면에 뜸)시뮬레이터를 키고 해당 설정을 하면 원하는 설정으로 바꿀 수 있다. (기본값 : Apple, 지금은 모델에 GPS가 없기 때문에 설정 시 애플 본사로 위치됨)Custom Location을 현재 위치의 위도와 경도로 설정하면 올바르게 나타낼 수 있다.모든 설정을 다 끝마친 후 Simulator 화면09 페이지 이동하기 - 페이지 컨트롤10 탭 바 컨트롤러 이용해 여러 개의 뷰 넣기기존에 했던 실습들을 한번에 보기 위한 탭 바 11 내비게이션 컨트롤러 이용해 화면 전환하기누르면 뒤로 갔다가..
241031 iOS프로그래밍기초 9주차
·
iOS프로그래밍 (2학년 2학기)
새로운 프로젝트를 생성기본 소스만 써져있던 것을 chatgpt를 이용하여 일정 시간이 지나면 배경색이 바뀌도록 만든 소스import UIKitclass ViewController: UIViewController { @IBOutlet weak var iabel: UILabel! @IBOutlet weak var name: UITextField! var timer: Timer? override func viewDidLoad() { super.viewDidLoad() // 타이머 시작 startColorChangeTimer() } @IBAction func buttonsend(_ sender: UIButton) { ..
241017 iOS프로그래밍기초 7주차
·
iOS프로그래밍 (2학년 2학기)
번들 아이디는 앱의 고유한 아이디이다. (중복 X)앱을 만들면 뜨는 화면minimum deployments : 앱을 실행하기 위한 최소 업데이트 버전iPad Orientation : 방향을 나타냄Navigate 영역Inspector 밑의 사진에서 Connect Hardware Keyboard를 해제한 상태, 키보드와의 연결을 끊어 시뮬레이터의 키보드가 나오게 한다. Assistant editor로 storyboard와 소스 연결 - Main.stroryboard 선택하고, ctrl+alt+command+enter Outlet 변수를 추가하는 방법 : Ctrl을 누른 상태로 드래그하기같은 방법으로 Action도 추가 가능하다.break point : 행번호 왼쪽을 클릭하면 브레이크 포인트(파란 오각형) 생..
241009 iOS프로그래밍기초 6주차
·
iOS프로그래밍 (2학년 2학기)
optional binding옵셔널에 할당된 값을 임시 변수 또는 상수에 할당if let constantname = optionalName{//옵셔널 변수가 값이 있다면 언래핑해서 일반 상수 constantname에 대입하고 if문 실행//값이 없다면 if문의 조건이 거짓이 되어 if문을 실행하지 않음}if var variablename = optionalName {//옵셔널 변수가 값이 있다면 언래핑해서 일반 변수 variblename에 대입하고 if문 실행//값이 없다면 if문의 조건이 거짓이 되어 if문을 실행하지 않음}// 예시 코드 var x : Int?x = 10if let xx = x { print(x,xx) } else { print("nil") }//옵셔널 변수 x가 값(10)이 있으므로..