목록IOS (31)
브래의 슬기로운 코딩 생활
당분간 학기 끝날 때 까지 이론은 별로 안할 예정이다. 이제 수업시간에는 거의 실습만 하기 때문에 과제나 실습 화면 캡쳐 본 등을 포스팅 하겠다. - 과제 - 기말고사 70% 네트워킹(URLSession) App Transport Security(ATS) 1급 객체(first class object), 1급 시민(first class citizen) 클로저(Closure) 후행 클로저(trailing closure) 디폴트 매개변수(아규먼트) failable initializer JSON파싱을 쉽게 하기 위한 구조체 만들기(quicktype) static metatype throwing function과 예외처리(exception handling) : do-try-catch closure 내부에서 sel..
오늘은 지난주에 본 중간고사 성적을 확인 하고 API에 대해 공부 했다. 내 중간고사 성적는 30점 만점에 29점 이었다. 만족스러운 결과긴 하지만 만점을 맞았다면 더 좋았을 것 같다는 생각이 들었다. 오늘은 거의 실습 위주로 수업해서 과제만 포스팅 하겠다. - 과제 - 슈퍼 마리오 브라더스 드림 존 윅 4 스즈메의 문단속 옥수역귀신 리바운드 더 퍼스트 슬램덩크 렌필드 킬링 로맨스 무명 URL과 URI의 차이: URL은 해당 자원의 위치를 포함하는 인터넷 주소를 말하며, URI는 인터넷에서 자원을 식별하기 위한 문자열을 의미하는데, URL은 URI의 일종입니다. // This file was generated from JSON Schema using quicktype, do not modify it di..
오늘은 저번 시간에 이어서 테이블 뷰 만드는 실습을 이어하고 다음주에 볼 시험을 공지하셧다. 1교시 : Q&A 2-3교시 : 시험 cheat sheet : 자필 A4 2장(4페이지) 6주차는 옵셔널체이닝까지. 5주차 TableView 중요하므로 과제랑 영상 보면서 정리 해보고, 실습 10단계로 나눠보기. 4주차 convenience Initializer 안함. 3주차 computed property 제외, failable initializer 중요. 옵셔널 개념이 부족한 사람은 영상으로 학습하기.
프로토콜(protocol)과 Delegate 프로토콜(protocol) - 특정 클래스와 관련없는 프로퍼티, 메서드 선언 집합 - 함수(메서드) 정의는 없음 - 기능이나 속성에 대한 설계도 - 클래스(구조체, 열거형)에서 채택(adopt)하여 메서드를 구현해야 함 스위프트 상속과 프로토콜 채택 class 자식:부모 ,(프로토콜) ... { // 코드 } - 부모 클래스는 하나만 가능하며 여러 개라면 나머지는 프로토콜 - 상속은 클래스만 가능하다. (단일상속) protocol 정의 protocol 프로토콜명{ //프로퍼티명 //메서드 선언 - 메서드는 선언만 있음 } protocol 프로토콜명 : 다른프로토콜, 다른프로토콜2{ // 프로토콜은 다중 상속도 가능 } protocol 정의, 채택, 준수 pro..
오늘은 가장 중요하다고 할 수 있는 1급 객체,1급 시민 / 클로저 / 생성자 등등을 복습했다. 1급 객체(first class object) / 1급 시민(first class citizen) 1급 객체(first class object) 또는 1급 시민(first class citizen) https://en.wikipedia.org/wiki/First-class_citizen First-class citizen - Wikipedia From Wikipedia, the free encyclopedia Concept in programming language design In programming language design, a first-class citizen (also type, object, ..
오늘은 거의 전부 지난주차 내용 복습만 했다. 아마도 저번주 내용이 중요도가 높기도 하고 동영상 강의 였어서 그런 것 같다. 이번 시간에 교수님 께서 언급하시고 중요한 내용만 일단 정리해 보겠다. 일반적으로 초깃값을 주지 않을 경우에만 자료형을 씀 정수 데이터 타입 : Int 부동 소수점 데이터 타입: Double 부울 데이터 타입 : Bool 문자 데이터 타입 : Character 문자열 데이터 타입 : String 변수 : var 상수 : let 튜플(Tuple) Void는 빈 튜플 이다. = () typealias Void = ()* ()는 빈 튜플(empty tuple) 함수(메서드)를 선언할 때 반환 값이 없으면 반환형을 지정할 필요 없음 그러나 함수, 메서드 또는 클로저의 형(type)에는 반..
과제: 자신의 이름 10번 반복 출력 소스 for i in 1...10{ print("김동현") } chatGPT에게 옵셔널 바인딩 예제를 들고 설명해 달라고 하기 let myOptional: Int? = 42 if let value = myOptional { print("The value of myOptional is \(value)") } else { print("myOptional is nil") } 이 코드에서는 myOptional변수가 옵셔널 Int 형식입니다. 만약 myOptional변수가 nil이 아니라면, 새로운 상수 value가 만들어집니다. value상수는 이후 코드에서 옵셔널 형식을 가지지 않습니다. 따라서 value를 사용할 때, 옵셔널 추출 없이도 안전하게 접근할 수 있습니다. 예..
▣ 스토리 보드 화면 ▣ 앱 실행 화면 첫 번째 View Controller 화면이다. Table View를 사용해서 섹션별로 인덕대학교 근처 음식점을 화면에 출력했다. (모든 데이터를 입력하면 앱 만드는데 오랜 시간이 소요될 것 같아 일부만 입력했다.) - 소스 - import UIKit var items = ["김가네김밥 인덕대점", "하다식당 월계직영점", "고빠루", "민들레 초밥", "한끼뚝딱", "벼락이네띵똥땡키친", "소문난규리네맛집", "오미일번지", "오늘은돈부리", "맘스컵주먹밥", "쉐프밥버거", "담꾹 월계점", "BBQ치킨 월계행복점", "키라키라윤", "인덕대학교 푸드코트", "한솥도시락 인덕대앞점"] var itemsImageFile = "dot.png" class TableV..
화면 전환 방식 - 1 : present 방식 ViewController가 다른 ViewController 호출(present) 다른 ViewController를 Modal로 띄움 UIViewController에 정의된 present 메소드를 사용 돌아올 때 - presentingViewController?.dismiss(animated:) full screen으로 화면 띄우기 - vc.modalPresentationStyle = .fullScreen 뷰 컨트롤러 추가 뷰 컨트롤러 선택 - 아이덴티티 인스펙터 - 스토리보드 아이디 설정(코드에서 쓸) 메인 뷰에 클릭하면 화면 이동이 될 버튼 추가 어시스턴트 에디터 - 버튼을 컨트롤 키를 누르며 소스코드의 클래스로 드래그 하여 액션 함수 추가 위와같이 소스..
BMI 계산 https://www.onlinegdb.com/online_swift_compiler https://replit.com/languages/swift let weight = 60.0 let height = 170.0 let bmi = weight / (height*height*0.0001) // kg/m*m print(bmi) BMI 계산 결과 판정 let weight = 60.0 let height = 170.0 let bmi = weight / (height*height*0.0001) // kg/m*m var body = "" if bmi >= 40 { body = "3단계 비만" } else if bmi >= 30 && bmi < 40 { body = "2단계 비만" } else if b..