목록Xcode (19)
브래의 슬기로운 코딩 생활
- 과제 - func multiplyByTen(value: Int) { print(value*10) }multiplyByTen(value: 3) //30 강제 언래핑 func multiplyByTen(value: Int?) { print(value!*10) //강제 언래핑 }multiplyByTen(value: 3) //30 if let 옵셔널 바인딩 func multiplyByTen(value: Int?) { if let value{ print(value*10) //if let 옵셔널 바인딩 }}multiplyByTen(value: 3) //30 func multiplyByTen(value: Int?) { if let value{ print(value*10) //if let 옵셔널 바인딩 }else {..
func getData() { guard let url = URL(string: movieURL) else { print("Invalid URL") return } let session = URLSession(configuration: .default) let task = session.dataTask(with: url) { [weak self] (data, response, error) in guard let self = self else { return } if let error = error { print(error) return } guard let JSONdata = data else { print("No data received") return } let decoder = JSONDecoder..
오늘은 처음으로 스위프트 문법 중 옵셔널 체이닝 이라는 것을 배웠다. 자세한 내용은 추후에 클래스 카테고리의 스위프트 카테고리에 따로 글을 작성하겠다. 일단 옵셔널 체이닝이란 옵셔널을 언래핑하는 방법 중 하나 이다. 옵셔널을 언래핑 하는 방법은 원래 3가지를 알고 있었다. 1. !를 이용한 옵셔널 강제 언래핑 - 간단하게 언래핑을 할 수 있지만 변수 안에 nil값이 들어가 있다면 크래쉬가 나므로 위험한 방법이다. 2. if~let, guard~let을 이용한 옵셔널 바인딩 - nil이 저장되어 있는 경우를 설정할 수 있기 때문에 대표적으로 사용되는 언래핑 방법이다. 3. nil 합병 연산자 ?? let optionalValue: Int? = nil let defaultValue: Int = 10 let ..
화면 전환 방식 - 1 : present 방식 ViewController가 다른 ViewController 호출(present) 다른 ViewController를 Modal로 띄움 UIViewController에 정의된 present 메소드를 사용 돌아올 때 - presentingViewController?.dismiss(animated:) full screen으로 화면 띄우기 - vc.modalPresentationStyle = .fullScreen 뷰 컨트롤러 추가 뷰 컨트롤러 선택 - 아이덴티티 인스펙터 - 스토리보드 아이디 설정(코드에서 쓸) 메인 뷰에 클릭하면 화면 이동이 될 버튼 추가 어시스턴트 에디터 - 버튼을 컨트롤 키를 누르며 소스코드의 클래스로 드래그 하여 액션 함수 추가 위와같이 소스..
Autolayout (오토 레이아웃 이란?) 오토 레이아웃(Auto Layout)은 제약 조건(Constraints)을 이용해서 뷰의 위치를 지정하는 것. 다시 말하면, 두 뷰 사이의 관계를 제약 조건이라는 것을 이용해서 뷰의 크기와 위치를 지정하는 것. 오토 레이아웃은 여러 해상도를 지원하기 위해 만들어 졌다. 아이폰의 크기가 다양해지면서 해상도도 달라졌는데, 다른 크기에서도 같은 화면을 보여주기 위해 오토 레이아웃을 사용한다. 세로 보기 화면뿐만 아니라 가로 보기 화면까지도 지원한다. 위의 이미지를 보면 아이폰SE와 아이폰8, 아이폰8 Plus 기종이 달라도 보여지는 화면이 똑같다는 것을 볼 수 있다. 위의 이미지와 같이 오토 레이아웃은 제약 조건(Constraints)을 이용하여 자동으로 해상도에 ..
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..
앱 개발 기술 분류 native - 안드로이드: JAVA, Kotlin - iOS: Swift, Objective-C cross platform - React native - Flutter hybrid - Web View를 감싸고 있는 웹사이트 - HTML+CSS+JS - Apache Cordova Xcode로 Swift문법 공부하기 Playground로 Swift문법 공부하기 Playground로 Swift문법과 UI테스트 폰트 조절: [Xcode]-[Preferences]-[Themes] 새로운 앱 만들기: [File]-[New]-[Project]-[iOS]-[App] 프로젝트 기본 설정 같은 이름의 프로젝트가 이미 있다면 폴더 변경하거나 이름 변경 프로젝트 생성 후 Xcode 초기 화면 Deploy..
오늘은 강의 실습실에 있는 맥 미니를 이용해서 직접 XCode로 간단한 앱을 만드는 것을 실습했다. 음 코드는 진짜 거짓말 안치고 한줄만 쳣는데 은근 어렵고 은근 오래걸렸다. 그래도 재미있었다. 사실 이번 시간에는 별로 배운건 없어서 쓸 말이 별로 없다... 맥 사용 방법에 대해 공부하고 XCode사용 방법 등등을 공부했다. 근데 교수님께서 폭풍진도를 나가셔서 많이 힘들었다.
이번 시간에는 Swift문법의 작은 부분만 배웠다. 일단 자료형이 Bool, Character, Int, Float, Double, String,Void 가 있고 변수를 선언하면 앞에 var, 상수는 let을 쓴다. 그리고 자료형은 무조건 맨 앞글자는 대문자로 쓴다. ------------------------------------------------------------------------------- 과제 Swift 문법의 주요 용어들 Simple Values Control Flow Functions and Closures Objects and Classes Enumerations and Structures Concurrency Protocols and Extensions Error Handlin..