1. 퀴즈 프로젝트 설정 및 질문 표시
-Question text label을 IBOulet questionLabel을 연결, IBOulet progressBar 연결, IBOulet trueButton 연결, IBOulet falseButton 연결, IBAction answerButtonPressed 연결 후 False button에도 연결
-> questionLabel.text = "four + two is equal to six" 를 viewDidLoad함수 괄호 내에 작성
-> 많은 질문을 위해 상수 퀴즈 내에 배열을 만들어놓는다.
ex) let quiz = [ "four + two is equal to six",
"five - three is greater than one", "three = eight is less than ten" ]
2. swift deep dive(structures)
-구조체란 인스턴스의 값(프로퍼티)을 저장하거나 기능(메소드)을 제공하고 이를 캡슐화할 수 있는 스위프트가 제공하는 타입(named type)입니다.
-구조체 안의 변수는 속성(property)(what it's like), 구조체 안의 함수는 메소드(method)(what it can do) 라고 한다.
-초기화(init()):
- 클래스, 구조체, 열거형 인스턴스를 사용하기 위한 준비 작업
- 저장 프로퍼티의 초기 값을 설정
- 초기화 작업이 완료되면 메모리에 인스턴스가 생성 된다.
-이니셜라이저의 역할
- 스위프트는 에러에 대한 안전을 최우선시 한다.
- 빈 메모리에 접근하게 된다면 예기치 못한 에러가 발생할 수 있다.
- 타입 내부에 프로퍼티가 있다면 해당 프로퍼티에는 무조건 값이 있다는 것을 보장해야 한다.
let name : String var citizens : [String] var resource : [String : Int]
init(name : String, citizens : [String], resources : [String:Int])
{
self.name = name //self는 위의 구조물 Town의 프로퍼티를 뜻함
self.citizens = citizens
self.resource = resources
}
func fortify() {
print("Defences increased")
}
}
var anotherTown = Town(
name: "Nameless Isiand",
citizens: ["Tom Hanks"],
resources: ["Coconut" : 100])
var ghostTown = Town(
name: "Ghosty McGhostface",
citizens: [],
resources: ["Tumblweed" : 1])
anotherTown.citizens.append("Wilson")
ghostTown.fortify()
3. 질문 트러ct 만들기
-ios swift file로 new file을 만든다. 이름은 Question
-> struct Question {
let text: string
let answer: string
}작성
-> main으로 돌아가서 2차 배열을 지우고, Question struct을 사용한다.
ex) let quiz = [Question( text : "four + two is equal to six.", answer : "ture.") ]
'개린이 이야기' 카테고리의 다른 글
2022년 02월 28일의 이야기 (0) | 2022.02.28 |
---|---|
2022년 02월 18일의 이야기 (0) | 2022.02.18 |
2022년 02월 11일의 이야기 (0) | 2022.02.11 |
2022년 02월 10일의 이야기 (0) | 2022.02.10 |
2022년 02월 09일의 이야기 (0) | 2022.02.09 |