π¨ μ΄μ
μ± μ λ°λΌνλ€ λ³΄λ, λ²μ μ΄ λ§μ§ μμμ κ·Έλ ꡬλ νκ³ λμ΄κ°λ λΆλΆ μ€, κ·Έλμλ μλλ λΆλΆμ΄ μμλ€.
μ± μμ storyboardλ₯Ό μΈκΈνκ³ , μ΄λ₯Ό μ¬μ©νλλ°, μκ°λ³΄λ€ μ€μν μν μ νκ³ μμλ€.
μ΄ λΆλΆμ μ²μ νλ‘μ νΈλ₯Ό μμ±ν λ, User interface μ€μ μ 'SwiftUI''κ° μλ, 'Storyboard'λ‘ μ€μ ν΄μΌ νλ€.
κ·Έλ κ² νλ, μ΄λ¦μ μ‘°κΈ λ€λ₯΄μ§λ§, storyboardλ₯Ό μ¬μ©ν μ μμλ€ !
π» λ¬Έλ² μ 리
μμλ λ³μ (Outlet Variable)
κ°μ²΄μ λν μμ±μ μ§μ ν λ μ°κ²°
@IBOutlet weak var lblHello: UILabel!
@IBOutlet : @IBOutletμΌλ‘ μ μλ λ³μλ₯Ό μμΈλ λ³μλΌκ³ λΆλ₯Έλ€.
- IBλ Interface Builderμ μ½μμ΄λ©°, @IBλ‘ μμλλ λ³μλ ν¨μλ μΈν°νμ΄μ€ λΉλμ κ΄λ ¨λ λ³μλ ν¨μλΌλ κ²μ μλ―Έ.
- @IBOutletμ κ°μ²΄λ₯Ό μμ€ μ½λμμ μ°Έμ‘°νκΈ° μν΄ μ¬μ©νλ ν€μλ.
- μ£Όλ‘ μμ, ν¬κΈ°, λͺ¨μ, μ μ λκ», ν μ€νΈ λ΄μ© λ± κ°μ²΄μ μμ± μ μ΄μ μ¬μ©λ¨.
var lblHello : λ³μλ₯Ό μ μΈν λ var ν€μλ μ¬μ©. κ·Έ λ€μ λ³μ μ΄λ¦μ μ§μ νμ¬ μ μΈνλ€.
UILabel! : μ μΈνκ³ μ νλ λ³μ νμ μ λνλ.
- μ μ½λμμλ λ μ΄λΈ κ°μ²΄μ λν λ³μλ₯Ό μ μΈνλ―λ‘ UILabel ν΄λμ€ νμ μ ν. (UI=User Interface)
strong / weak : μμλ λ³μλ₯Ό μΆκ°ν λ λνλλ νμ μ°½μ 'Storage' μμ μ νν μ μμ.
- λ©λͺ¨λ¦¬ νμ μ μ± μ λνλ΄λ ν€μλ
- μΌλ°μ μΌλ‘ κ°μ²΄λ₯Ό μ°Έμ‘°νκΈ° μν μμλ λ³μλ strong μ¬μ©. (default)
- weakλ λ³μ μ μ μμ μΆκ°λλ€.
- strongμΌλ‘ μ μΈλ λ³μλ λ€λ₯Έ κ³³μμ μ°Έμ‘°νκ³ μλ κ²½μ°, λ©λͺ¨λ¦¬μμ μ κ±°λμ§ μμ§λ§, weakλ λ€λ₯Έ κ³³μμ μ°Έμ‘°νκ³ μλλΌλ μμ€ν μ΄ μμμ μΌλ‘ λ©λͺ¨λ¦¬μμ μ κ±°ν μ μμ.
- λ©λͺ¨λ¦¬ κ΄λ¦¬ μ΄μ λλ¬Έμ λ κ°μ§ μ μ±
μ μ¬μ©.
- strongμΌλ‘ μ μΈλ λ³μλΌλ¦¬ μνΈ μ°Έμ‘°νλ μΌμ΄ μκΈΈ κ²½μ°, μ±μ΄ μ’ λ£λκΈ° μ κΉμ§ λ©λͺ¨λ¦¬μμ μ κ±°λμ§ μκΈ° λλ¬Έμ λ©λͺ¨λ¦¬ λμ λ°μ.
- μ΄λ° κ²½μ°, λ μ€ νλλ₯Ό weakλ‘ μ§μ νλ©΄, μμ€ν μμ μμ μ κ±°κ° κ°λ₯νλ―λ‘ μνΈ μ°Έμ‘°ν λλ μ¬μ©νμ§ μλ κ²½μ°μλ λ©λͺ¨λ¦¬ μμ λ μ μμ.
μ‘μ ν¨μ (Action Function)
κ°μ²΄μ μ΄λ²€νΈλ₯Ό λ£κ³ μΆμ λ μ°κ²°
@IBAction func btnSend(_ sender: UIButton) {
lblHello.text = "Hello, " + txtName.text!
}
@IBAction : @IBActionμΌλ‘ μ μλ ν¨μλ₯Ό μ‘μ ν¨μλΌκ³ λΆλ₯Έλ€.
- κ°μ²΄μ μ΄λ²€νΈλ₯Ό μ μ΄νκΈ° μν ν€μλ μ΄λ€.
- λ²νΌμ λλ₯΄κ±°λ, νΌμ»€κ° μ νλλ λ± νΉμ κ°μ²΄μμ μνλ μ΄λ²€νΈκ° λ°μνμ λ μ ν΄μ§ μμ μ μ€ννκΈ° μν΄ μ¬μ©.
func btnSend : ν¨μλ₯Ό μ μΈν λ func ν€μλλ₯Ό μ¬μ©ν΄μ μ μΈνλ€.
(_ sender: UIButton) : μ‘μ ν¨μκ° μ€νλλλ‘ μ΄λ²€νΈλ₯Ό 보λ΄λ κ°μ²΄.
- μ¬κΈ°μμλ λ²νΌ κ°μ²΄μμ μ΄λ²€νΈκ° λ°μνμ λ ν΄λΉ μ‘μ ν¨μλ₯Ό μ€νμν¬ κ²μ΄λ―λ‘ UIButton ν΄λμ€ νμ μ ν.
lblHello.text : λ μ΄λΈ κ°μ²΄κ° κ°μ§κ³ μλ μμ± μ€ ν μ€νΈ λ΄μ©μ μλ―Ένλ μμ±.
txtName.text! : ν μ€νΈνλ κ°μ²΄κ° κ°κ³ μλ μμ± μ€ ν μ€νΈ λ΄μ©μ μλ―Ένλ μμ±.
- λμ λΆλ !λ μ΅μ λ λ³μμ κ°μ μΈλνμ μλ―Έ
- μ€ν°λμμλ !λ₯Ό μ¬μ©νμ§ λ§λΌκ³ νλ€...
π swiftμμλ λ¬Έμ₯ λμ ';' μλ―Έμ½λ‘ μ λΆμ΄μ§ μλλ€. νμ§λ§ λΆμΈλ€κ³ ν΄μ μλ¬κ° λμ§ μλλ€ ^^
π μμμ λ³μ, ν¨μ, λ©μλμ μ΄λ¦ μ§μ κ·μΉμ λ€μκ³Ό κ°λ€.
- μ«μλ‘ μμν μ μμ
- μμ½μ΄λ ν€μλλ‘ λ±λ‘λ λ¨μ΄λ μ΄λ¦μΌλ‘ μ¬μ©ν μ μμ
- μ΄λ¦μμ μ΄λ€ μν μΈμ§ μ μ μμ΄μΌ ν¨.
- λͺ μ¬+λμ¬ λλ μ μΉμ¬λ‘ μ΄λ£¨μ΄μ§ λ¨μ΄λ₯Ό μ°κ²°ν΄μ μ¬μ©
- ν΄λμ€μ μ΄λ¦μ λλ¬Έμλ‘ μμ
- λ³μ, μμ, λ©μλλ μλ¬Έμλ‘ μμ
μ΄λ‘μ¨ μ²«μ§Έ λ§λΉ λ !!
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var lblHello: UILabel!
@IBOutlet weak var txtName: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
@IBAction func btnSend(_ sender: UIButton) {
lblHello.text = "Hello, " + txtName.text!
}
}
π± κ²°κ³Ό
π μ 리
swiftλ₯Ό νλ©΄μ κ°μ₯ λλλ μ μ€ νλλ, λ³μμ ν¨μλ₯Ό μΆκ°νλ λ°©μμ΄μλ€.
Storyboardμμ κ°μ²΄λ₯Ό λμ΄ μ½λ νΈμ§κΈ°λ‘ μ°κ²°νλ©΄, μλμΌλ‘ μΌλΆ μ½λκ° μμ±λλ€.
λν μ΄λ¦κ³Ό Connection, typeμ μ§μ ν μ μλ€λ κ²...
κ΅μ₯ν μ μ νλ©΄μλ 좩격μ μ΄λ©΄μλ νΈλ¦¬νλ€. μ½κ° μ¬λ―ΈμκΈ°λ νλ€..π«
'π Swift' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[swift] xcodeμμ μμ νλ νΈ λ³΄κΈ° (2) | 2023.10.01 |
---|---|
Swift Dataμ λνμ¬ [곡μλ¬Έμ κΈ°λ°] (0) | 2023.07.04 |
[swiftUi] Text align μμΉ μ νκΈ° (0) | 2023.06.03 |
[swift] λμμΈ ν¨ν΄μ΄λ !! - by μΌκ³°π» (0) | 2023.04.10 |
[swift] The Basics (곡μλ¬Έμ μ 리) (0) | 2023.02.13 |