Deep_Dev
article thumbnail
[Swift 기초] 데이터 νƒ€μž… κ³ κΈ‰

πŸ“– 데이터 νƒ€μž… μ•ˆμ‹¬ μŠ€μœ„ν”„νŠΈλŠ” νƒ€μž…μ— ꡉμž₯히 λ―Όκ°ν•˜κ³  μ—„κ²©ν•˜λ‹€. μ„œλ‘œ λ‹€λ₯Έ 데이터 νƒ€μž… 끼리의 데이터 κ΅ν™˜μ€ νƒ€μž…μΊμŠ€νŒ…(Type-Casting)을 거쳐야 ν•œλ‹€. μŠ€μœ„ν”„νŠΈμ—μ„œ κ°’ νƒ€μž…μ˜ 데이터 κ΅ν™˜μ€ μ—„λ°€νžˆ λ§ν•˜λ©΄ νƒ€μž…μΊμŠ€νŒ…μ΄ μ•„λ‹Œ μƒˆλ‘œμš΄ μΈμŠ€ν„΄μŠ€λ₯Ό μƒμ„±ν•˜μ—¬ ν• λ‹Ήν•˜λŠ” 것이닀. πŸ“Œ 데이터 νƒ€μž… μ•ˆμ‹¬μ΄λž€ μŠ€μœ„ν”„νŠΈλŠ” 데이터 νƒ€μž…μ„ μ•ˆμ‹¬ν•˜κ³  μ‚¬μš©ν•  수 μžˆλŠ” 언어이닀. 예λ₯Ό λ“€μ–΄, Int νƒ€μž… λ³€μˆ˜μ— ν• λ‹Ήν•˜λ €λŠ” 값이 Character νƒ€μž…μ΄λ©΄ 컴파일 였λ₯˜κ°€ λ°œμƒν•œλ‹€. μ΄λ ‡κ²Œ μŠ€μœ„ν”„νŠΈκ°€ 컴파일 μ‹œ νƒ€μž…μ„ ν™•μΈν•˜λŠ” 것을 νƒ€μž…ν™•μΈ 이라고 ν•œλ‹€. πŸ“Œ νƒ€μž… μΆ”λ‘  μŠ€μœ„ν”„νŠΈμ—μ„œλŠ” λ³€μˆ˜λ‚˜ μƒμˆ˜λ₯Ό μ„ μ–Έν•  λ•Œ νŠΉμ • νƒ€μž…μ„ λͺ…μ‹œν•˜μ§€ μ•Šμ•„λ„ μ»΄νŒŒμΌλŸ¬κ°€ ν• λ‹Ήλœ 값을 κΈ°μ€€μœΌλ‘œ λ³€μˆ˜λ‚˜ μƒμˆ˜μ˜ νƒ€μž…μ„ κ²°μ •ν•œλ‹€. // νƒ€μž…μ„ μ§€μ •ν•˜μ§€ μ•Šμ•˜μœΌλ‚˜..

article thumbnail
[Swift 기초] 데이터 νƒ€μž… κΈ°λ³Έ

πŸ“– λ¬Έμžμ—΄ 보간법 λ³€μˆ˜ λ˜λŠ” μƒμˆ˜ λ“±μ˜ 값을 λ¬Έμžμ—΄ 내에 λ‚˜νƒ€λ‚΄κ³  싢을 λ•Œ μ‚¬μš©ν•©λ‹ˆλ‹€. λ¬Έμžμ—΄ 내에 \(λ³€μˆ˜λ‚˜ μƒμˆ˜)의 ν˜•νƒœλ‘œ ν‘œκΈ°ν•˜λ©΄ 이λ₯Ό λ¬Έμžμ—΄λ‘œ μΉ˜ν™˜ν•΄μ„œ λ„£μŠ΅λ‹ˆλ‹€. let name: String = "yagom" print("My Name is \(name)") // My name is yagom πŸ“– λ³€μˆ˜μ™€ μƒμˆ˜ πŸ“Œ λ³€μˆ˜ μŠ€μœ„ν”„νŠΈμ—μ„œ λ³€μˆ˜λ₯Ό μƒμ„±ν•˜λ €λ©΄ var ν‚€μ›Œλ“œλ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€. var [λ³€μˆ˜λͺ…]: [데이터 νƒ€μž…] = [κ°’] var name: String = "yagom" var age: Int = 100 print("μ €μ˜ 이름은 \(name)이고 λ‚˜μ΄λŠ” \(age)μ‚΄ μž…λ‹ˆλ‹€.") // μ €μ˜ 이름은 yagom이고 λ‚˜μ΄λŠ” 100μ‚΄ μž…λ‹ˆλ‹€. πŸ“Œ μƒμˆ˜ μŠ€μœ„ν”„νŠΈμ—μ„œ μƒμˆ˜λ₯Ό μƒμ„±ν•˜λ €λ©΄ let ν‚€μ›Œλ“œλ₯Ό μ‚¬μš©ν•©..

article thumbnail
[Swift][UIkit] iOSμ•±μ˜ ꡬ쑰와 μ½”μ½”μ•„ν„°μΉ˜ ν”„λ ˆμž„μ›Œν¬
🍎 iOS/UIKit 2022. 12. 25. 14:39

πŸ’‘iOS μ•±μ˜ ꡬ쑰 πŸ“Œ κ°œλ°œκ΄€μ μ—μ„œ λ³΄λŠ” iOS μ•±μ˜ ꡬ쑰 - Custom Code : κ±΄λ“œλ¦΄ 수 μžˆλŠ” μ˜μ—­ - System Framework : κ±΄λ“œλ¦΄ 수 μ—†λŠ” μ˜μ—­ UIApplicationMain() : iOS 앱에 μ†ν•˜λŠ” λΆ€λΆ„μ˜ μ—”νŠΈλ¦¬ 포인트 μ•±μ˜ 핡심 객체λ₯Ό μƒμ„±ν•˜λŠ” ν”„λ‘œμ„ΈμŠ€λ₯Ό ν•Έλ“€λ§ν•˜κ³ , μŠ€ν† λ¦¬λ³΄λ“œ νŒŒμΌλ‘œλΆ€ν„° μ•±μ˜ μœ μ € μΈν„°νŽ˜μ΄μŠ€λ₯Ό μ½μ–΄λ“€μΌλΏλ§Œ μ•„λ‹ˆλΌ μš°λ¦¬κ°€ μž‘μ„±ν•œ μ»€μŠ€ν…€ μ½”λ“œλ₯Ό ν˜ΈμΆœν•΄ 쀌으둜써 μ•± 생성 μ΄ˆκΈ°μ— ν•„μš”ν•œ 섀정을 κ΅¬ν˜„ν•  수 있게 ν•΄μ€€λ‹€. AppDelegate : 객체λ₯Ό λ‚΄μ„Έμš°κ³  μ»€μŠ€ν…€ μ½”λ“œλ₯Ό μ²˜λ¦¬ν•  수 μžˆλ„λ‘ μ•½κ°„μ˜ κΆŒν•œ λΆ€μ—¬ UIApplicationμœΌλ‘œλΆ€ν„° μœ„μž„λ°›μ€ 일뢀 κΆŒν•œμ„ μ΄μš©ν•˜μ—¬ μ»€μŠ€ν…€ μ½”λ“œμ™€ μƒν˜Έμž‘μš©ν•˜λŠ” 역할을 λ‹΄λ‹Ήν•˜κ³ , 이λ₯Ό 톡해 μš°λ¦¬κ°€ ν•„μš”ν•œ μ½”λ“œλ₯Ό κ΅¬ν˜„ν•  수 μžˆλ„λ‘ ..

[Swift][UIKit] iOS의 μ‹œμž‘
🍎 iOS/UIKit 2022. 12. 25. 13:57

πŸ’‘ iOS의 첫 μ‹œμž‘ πŸ“Œ λ·° 컨트둀러(View Controller) : ν•˜μœ„μ— μžˆλŠ” μ½˜ν…μΈ λ₯Ό κ΄€λ¦¬ν•˜κ³ , λ³΄μ—¬μ£Όκ±°λ‚˜ μˆ¨κΈ°λŠ” λ“±μ˜ ꡬ성을 μ‘°μ •ν•˜λŠ” μ—­ν•  뷰와 λ¦¬μ†ŒμŠ€λ₯Ό κ΄€λ¦¬ν•œλ‹€ ( λͺ¨λ“  λ·° μ»¨νŠΈλ‘€λŸ¬λŠ” UIViewController 클래슀λ₯Ό 상속 받아야함 ) πŸ“Œ ν”„λ‘œμ νŠΈ ꡬ성과 μŠ€ν† λ¦¬λ³΄λ“œ 클래슀 파일 ( .swift ) : μ•±μ˜ μ†ŒμŠ€ μ½”λ“œ ꡬ성 AppDelegate.swift = μ•± μ „μ²΄μ˜ 생λͺ… μ£ΌκΈ° 관리λ₯Ό μœ„μž„λ°›μ€ 객체 μ•± 전체에 μ μš©ν•΄μ•Ό ν•  κΈ°λŠ₯을 λ‹΄λ‹Ήν•˜λŠ” 클래슀둜써, 앱이 μ‹€ν–‰λ˜κ±°λ‚˜ μ’…λ£Œλ  λ•Œ, 그리고 ν™œμ„±ν™” μƒνƒœκ°€ λ˜κ±°λ‚˜ λΉ„ν™œμ„±ν™” μƒνƒœκ°€ 될 λ•Œ, λ°±κ·ΈλΌμš΄λ“œ μƒνƒœλ‘œ λ“€μ–΄κ°€λŠ” λ“±μ˜ λ‹€μ–‘ν•œ μƒνƒœλ³€ν™”λ₯Ό κ°μ§€ν•˜κ³  이에 λŒ€ν•œ 처리λ₯Ό ν•΄μ£Όμ–΄μ•Ό ν•  λ•Œ μ‚¬μš© ViewController.swift = λ·° 컨트둀러λ₯Ό κ΅¬ν˜„ν•œ..

[Swift]11 : λ§€κ°œλ³€μˆ˜λ‘œμ„œ ν΄λ‘œμ €

πŸ“– Day 11 : λ§€κ°œλ³€μˆ˜λ‘œμ„œ ν΄λ‘œμ € πŸ’‘ Closure πŸ“Œ Closure ν‘œν˜„μ‹ 읡λͺ…이기 λ•Œλ¬Έμ— funcλΌλŠ” ν‚€μ›Œλ“œλ₯Ό μ‚¬μš©ν•˜μ§€ μ•ŠλŠ”λ‹€.

[Swift]10 : Closure

πŸ“– Day 10 : Closure ( ν΄λ‘œμ € ) πŸ’‘ Closure Named Closure Unnamed Closure 이름이 μžˆλŠ” λ³΄ν†΅μ˜ ν•¨μˆ˜λŠ” Named Closure 이고, 이름이 μ—†λŠ” ν•¨μˆ˜λ“€μ„ unNamedClosure (읡λͺ…ν•¨μˆ˜) 라고 ν•œλ‹€. 보톡 ν΄λ‘œμ €λŠ” unNamed된 ν•¨μˆ˜λ₯Ό λ§ν•œλ‹€. πŸ“Œ Closure ν‘œν˜„μ‹ 읡λͺ…이기 λ•Œλ¬Έμ— funcλΌλŠ” ν‚€μ›Œλ“œλ₯Ό μ‚¬μš©ν•˜μ§€ μ•ŠλŠ”λ‹€. { (Parameters) -> ReturnType in 싀행ꡬ문 } πŸ“Œ String을 λ°˜ν™˜ν•˜λŠ” Closure let myName : String ={ // myName으둜 λ“€μ–΄κ°„λ‹€ return "μŠ€μœ„ν”„νŠΈ" }() print(myName) >>> μŠ€μœ„ν”„νŠΈ πŸ“Œ Closure μ •μ˜ μ΄ν•΄ν•˜κΈ° let myRealName : (String)..

article thumbnail
[Swift]09 : Generic

πŸ“– Day 09 : Generic ( μ œλ„€λ¦­ ) πŸ’‘ Generic : μ–΄λ– ν•œ μžλ£Œν˜•μ΄λ“  λ°›κ³  싢을 λ•Œ μ‚¬μš©ν•˜λŠ”, λ²”μš© μ½”λ“œλ₯Ό μž‘μ„±ν•  λ•Œ μ‚¬μš© πŸ“Œ μ œλ„€λ¦­ ν•¨μˆ˜ μ œλ„€λ¦­μ€ 을 톡해 λ‚˜νƒ€λ‚΄κ³ , 이 μ•ˆμ— νƒ€μž…μ²˜λŸΌ μ‚¬μš©ν•  이름을 λ„£μ–΄μ£Όλ©΄ λœλ‹€. 보톡은 Tλ₯Ό 많이 λ„£λŠ”λ‹€. πŸ’¬ λ‹€μ–‘ν•œ Type μ˜ˆμ‹œ 좜λ ₯ var mySomeArray = MyArray([1,2,3]) print("mySomeArray : \(mySomeArray)") var myStringArray = MyArray(["κ°€", "λ‚˜"]) print("myStringArray : \(myStringArray)") >>> mySomeArray : MyArray(elements: [1, 2, 3]) >>> myStringArray : MyArray(eleme..

article thumbnail
[Swift]08 : ν•¨μˆ˜ λ§€κ°œλ³€μˆ˜ 이름 μ„€μ •

πŸ“– Day 08 : ν•¨μˆ˜ λ§€κ°œλ³€μˆ˜ 이름 πŸ“Œ ν•¨μˆ˜ λ§€κ°œλ³€μˆ˜ 이름 μ„€μ • func myFunction(name : String) -> String{ return "μ•ˆλ…•ν•˜μ„Έμš”?! \(name) μž…λ‹ˆλ‹€!" } myFunction(name:"Deep_Lee") // >>> μ•ˆλ…•ν•˜μ„Έμš”?! Deep_Leeμž…λ‹ˆλ‹€! πŸ’¬ name : λ§€κ°œλ³€μˆ˜ 이름, ->λŠ” String을 λ°˜ν™˜ν•œλ‹€λŠ” 뜻 πŸ“Œ 전달 인자 λ ˆμ΄λΈ” func myFunctionSecond(myName name:String)-> String{ return "μ•ˆλ…•ν•˜μ„Έμš”?! \(name) μž…λ‹ˆλ‹€!" } myFunctionSecond(with : "μŠ€μœ„ν”„νŠΈ") // >>> μ•ˆλ…•ν•˜μ„Έμš”?! μŠ€μœ„ν”„νŠΈμž…λ‹ˆλ‹€! πŸ’¬ 같은 λ©”μ†Œλ“œμ΄μ§€λ§Œ 이름을 λ°”κΏ€ 수 μžˆλ‹€. πŸ’¬ withλΌλŠ” μ „λ‹¬μΈμž 레..