목록프로그래밍/Swift (31)
처음부터 차근차근

사전 지식 1급 객체(first class object), 1급 시민(first class citizen) Swift의 함수는 1급 객체이다. 1급 객체의 조건 1) 변수에 저장할 수 있다. func inchesToFeet (inches: Float) -> Float { return inches * 0.0833333 } let toFeet = inchesToFeet print(toFeet(10)) 2) 매개변수로 전달할 수 있다. func inchesToFeet (inches: Float) -> Float { return inches * 0.0833333 } func outputConversion(converterFunc: (Float) -> Float, value: Float) {//함수를 매개변수로 ..

RESTful = Representational State Transfer REST는 HTTP URI(Uniform Resource Identifier)를 통해 자원(Resource)을 명시하고, HTTP Method(POST, GET, PUT, DELETE)를 통해 해당 자원에 대한 CRUD Operation을 적용하는 것을 의미한다. 이 REST 설계 지침을 따르는 웹 서비스를 RESTful이라 한다. HTTP 기반의 소프트웨어 아키텍처 스타일이고, 로이 필딩(Roy Fielding)이 2000년에 UC 어바인에서 "Architectural Styles and the Design of Network-based Software Architectures"라는 박사 학위 논문에 REST를 정의했다. RES..

TableView 항목을 표로 보여주는 뷰이다. TableView 구성요소 TableView : TableViewCell 여러개 담기 위한 컨테이너 TableViewCell : 하나의 아이템 UIViewController VS UITableViewController UIViewController은 UIViewTableViewController의 수퍼클래스이다. UITableViewController의 계층도 : UIViewController - UITableViewController UITableView의 계층도 : UIView - UIScrollView - UITableView UITableViewCell의 계층도 : UIView - UITableViewCell TableView 사용하는 방법 1. 스..

View 레이블(UILabel),이미지 뷰(UIImageView), 버튼(UIButton), 텍스트 필드(UITextField)와 같은 컨트롤들을 포함하는 것 모든 뷰는 UIKit의 UIView 클래스의 서브클래스이다. UIWindow 클래스 앱 UI의 배경막에 해당하는 것 윈도우는 UI를 표시하고 상호작용을 할 수 있는 영역을 제공 UIWindow는 UIView 클래스의 서브클래스 데스크톱 애플리케이션에는 있는 타이틀바가 없음 사용자는 UIWindow 객체를 직접 보거나 상호작용을 할 수 없음 프로그램으로 생성할 수 있지만, 일반적인 경우 사용자 인터페이스를 디자인할 때 인터페이스 빌더에 의해 자동으로 생성됨 뷰의 계층 구조 부모(superview) / 자식(subview) 관계 서브뷰들은 언제나 부모..
입력칸에다 이름을 입력하면 위에가 'Hello, [입력값]'으로 변경되는 간단한 앱을 만들어 보았다. 코드 import UIKit ///내가만든 클래스 class ViewController: UIViewController { @IBOutlet weak var lblHello: UILabel! @IBOutlet weak var txtName: UITextField! @IBAction func btnSend(_ sender: UIButton) { lblHello.text = "Hello," + txtName.text! //print(lblHello.text, txtName.text) } override func viewDidLoad() { super.viewDidLoad() let l = UILabel() ..
class Man{ var age : Int var weight : Double func display(){ print("나이=\(age), 몸무게=\(weight)") } init(age: Int , weight : Double){ self.age = age self.weight = weight } } class Student : Man {//비어있지만Man의 모든 것을 가지고 있음 } var kim : Man = Man(age:10, weight:20.5) kim.display() var lee : Student = Student(age:20,weight:65.2) lee.display() print(lee.age) //나이=10, 몸무게=20.5 //나이=20, 몸무게=65.2 //20 class ..
var x : Int! = 10 // 선언문에서 ?는 옵셔널 변수 선언 print(x) //print(x!) // 실행문에서 느낌표는 강제 언래핑 if x != nil { // !는 그냥 쓰면 위험(x에 nil들어가면 crash남). 그래서 if문 사용해서 언래핑해줌 print(x!) // ! 옵셔널 변수는 옵셔널로 사용되지 않으면 자동으로 옵셔널을 푼다. } // 옵셔널 바인딩 if let xx = x { print(x, xx) } var a : Int? var y = a ?? 0 // a에 nil이 들어가있으면 0을 y에 대입한다. print(a, y) //optional chaning //실행문에서 ?를 쓰는 것 //Optional(10) //10 //Optional(10) 10 //nil 0 va..
class Man{ var age : Int var weight : Double func display(){ print("나이=\(age), 몸무게=\(weight)") } init(age: Int , weight : Double){ self.age = age self.weight = weight } } class Student : Man {//비어있지만Man의 모든 것을 가지고 있음 } var kim : Man = Man(age:10, weight:20.5) kim.display() var lee : Student = Student(age:20,weight:65.2) lee.display() print(lee.age) //나이=10, 몸무게=20.5 //나이=20, 몸무게=65.2 //20 class ..