[코딩] 배우는것/Swift
[Swift] Structure 구조체
JabCho
2020. 7. 10. 14:37
728x90
반응형
SMALL
Structure
관계가 있는 여러 데이터를 묶어서 표현.
Class Vs Structure
동작이 다르다.
Structure : value type 값 타입 --> 복사해서 할당 - Stack 메모리
Class : Reference type 참조 타입 --> 기존의 것 공유 - Heap 메모리
코드
struct , struct를 파라미터로 받는 func
import UIKit
struct Lecture {
let name: String
let tutorName: String
let studentNum: Int
}
func printLectureName(from tutor: String, lectures: [Lecture]){
var lectureName = ""
for lecture in lectures {
if tutor == lecture.tutorName{
lectureName = lecture.name
}
}
// let lecuteName = lectures // 클로저 사용!
// .first { (lec) -> Bool in
// return lec.name == tutor
// }?.name ?? ""
print("아 그 강사님 강의는요: \(lectureName)")
}
let lec1 = Lecture(name: "ios Basic", tutorName: "Jason", studentNum: 50)
let lec2 = Lecture(name: "D.S.", tutorName: "현춰리", studentNum: 80)
let lec3 = Lecture(name: "Communication", tutorName: "라이언", studentNum: 20)
let lectures = [lec1, lec2, lec3]
printLectureName(from: "라이언", lectures: lectures)
클로저를 이용한 연습
import UIKit
struct arr {
let key: Int
let name: String
}
let arr1 = arr(key: 1, name: "1번")
let arr2 = arr(key: 2, name: "2번")
let arr3 = arr(key: 3, name: "3번")
let arrs = [arr1, arr2, arr3]
func findName(from keyName:Int, arrs:[arr]){
let num = arrs
.first { (res) -> Bool in
return res.key == keyName
}?.name ?? ""
print(num)
}
findName(from: 2, arrs: arrs)
728x90
반응형
LIST