iOS
iOS BMI 계산기 앱 (2 - 기능추가)
◼ 완성된 소스 정렬 ◼ rounded button 방법 2 ◾ identity inspector을 이용한 방법 말고도 소스수정을 통해 rounded button이 가능하다. ◼ switch : UISwitch클래스 ◾ 스위치가 켜져 있을 경우와 커져있을 경우 ◼ 세그먼트 컨트롤 디자인 ◼ 새로 생긴 뷰컨트롤러의 Tab Bar item 이미지 변경 ◼ 스토리보드와 클래스 연결 ◾ Video Scene 스토리보드와 VideoViewController클래스 연결 ◾ 스토리보드와 클래스가 제대로 연결되지 않으면 아무리 기능을 추가해도 소용이 없으므로 연결이 잘 되어있는지 확인 ◼ VideoViewController ◼ 동영상 실행 이미지 클릭 시
iOS BMI 계산기 앱 (1)
◼ rounded button : identity inspector 소스 수정을 통해 표현할 수도 있지만 이러한 방법도 있다 ◼ Text Field의 keyboard Type : Decimal Pad 문자열이 아닌 숫자만을 입력받아야 오류가 발생하지 않으므로 Decimal Pad로 변경 ◼ BMI Calculator ◼ String을 Int형 또는 Double형으로 변경 @IBAction func calcBmi(_ sender: UIButton) { let height = Double(txtHeight.text!)! let weight = Double(txtWeight.text!)! } ◾ txtHeight에 text의 내용을 !으로 옵셔널 string형을 풀어주고 Double형으로 바꿔서도 옵셔널을 풀..
iOS앱 개발 (Icon과 LaunchScreen 추가 / sender)
◼ Bundle Identifier 유일하게 앱스토어에서 앱을 식별할수있는 유일한 식별자 ex)kr.ac.induk.ads.adsHello > kr.ac.induk.ads(Organization Identifier) > adsHello(Product Name) ◼ 아웃렛(Outlet) 변수와 액션(Action) 함수 ◾ Outlet = 데이터를 가져오는 것, 즉 하나의 변수를 가져오는 것 ◾ Action = 입력이 들어왔을때 어떤 행동을 할 지를 나타내는 것 ◾ IBOutlet = 클래스의 프로퍼티 선언에 사용 ◾ IBAction = 클래스의 메서드 선언에 사용 ◼ Attributes 선언과 타입에 부가적인 정보를 제공 함수 선언에서 discardableResult를 쓰면 리턴값을 사용하지 않아도 컴파일..
UILabel의 주요 property
◼ var text: String? : 레이블이 표시하는(표시할) 텍스트(문자열) ◾ 텍스트가 모두 동일한 속성값(폰트, 색상 등)으로 표시 ◾ text 프로퍼티에 값을 할당하면 다른 스타일 관련attributedText 프로퍼티에도 같은 내용의 텍스트가 할당 선언 : var text: String? { get set } ◼ var attributedText: NSAttributedString? - 레이블이 표시할(스타일이 지정된) 텍스트(문자열) ◾ NSAttributed 특정 부분의 속성값을 변경할 수 있음 (폰트, 색상 등) ◾ attributedText에 값을 할당하면 text 프로퍼티에도 같은 내용의 텍스트가 할당 선언 : @NSCopying var attributedText: NSAttribu..
맥(Mac)
⬛ 맥 과 윈도우의 차이점 맥(mac)은 애플이 만든 매킨토시(macintosh) 컴퓨터의 운영체제로 과거에는 컴퓨터 그래픽 전문가만 쓰는 운영체제였지만 iPhone과 iPad가 나오고 Apple에 대한 한국 내 인지도가 높아지면서 현재에는 맥 유저 점유율이 높아지고 있다. 맥과 윈도우의 차이점은 첫 번째로 범용성이다. 맥에는 연동성이 있다면 윈도우는 범용성 있다. 맥은 영상/음향 편집과 비 윈도우용 소프트웨어 개발에 특화된 컴퓨터이기에 목적성이 뚜렷하지만 윈도우는 범용성이 다양하기에 이 부분은 국내에서 윈도우가 아니면 이런저런 작업을 하기가 힘든 것과 관련이 있다. 이것은 맥 유저가 윈도우 유저보다 현저히 적은 이유이기도 하다 하지만 최근에는 공인인증서의 폐지와 애플의 아이폰으로 인해 사파리의 활성화로..
Swift 문법 (extension / 접근 제어 / protocol / enum)
UILabel 🔳 한 줄 또는 여러 줄의 텍스트를 보여주는 뷰 import UIkitclass ViewController: UIViewController {@IBOutlet weak var createLabel: UILabel! override func viewDidLoad() { super.viewDidLoad() createLabel.text = "Ahn Dong Sub" print("Ahn Dong Sub") } ◼ var text: String? : 레이블이 표시할 문자열 주요 프로퍼티 ◼ var attributedText: NSAttributedString? : 표시할 문자열 ◼ var textColor: UIColor! : 문자 색상 ◼ var font: UIFont! : 문자 폰트 exten..
Swift 문법 (클래스/ 클래스 상속)
클래스 메서드 class Man{ var age : Int = 1 var weight : Double = 3.5 func display(){ print("나이=\(age), 몸무게=\(weight)") } class func cM(){ print("cM은 클래스 메서드입니다.") } static func scM(){ print("scM은 클래스 메서드(static)") } } var kim : Man = Man() //kim.cM() Man 타입의 인스턴스가 호출하면 error kim.display() //인스턴스 메서드는 인스턴스가 호출 Man.cM() //클래스 메서드는 클래스가 호출 Man.scM() //클래스 메서드는 클래스가 호출 //나이=1, 몸무게=3.5 //cM은 클래스 메서드입니다. //..
Swift 문법 (1급 객체 / 1급 시민 / 글로저 / 클래스 기초)
1급 객체, 1급 시민 func inchesToFeet (inches: Float) -> Float { return inches * 0.0833333 } func inchesToYards (inches: Float) -> Float { return inches * 0.0277778 } let toFeet = inchesToFeet //함수를 자료형처럼 사용하여 변수에 저장할 수 있다. let toYards = inchesToYards print(type(of:toFeet)) // (inches: Float) -> Float 부분 때문에 자료형은 Float print(inchesToFeet(inches:10)) print(toFeet(10)) func outputConversion(converterFunc..