inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

앨런 iOS 앱 개발 (15개의 앱을 만들면서 근본원리부터 배우는 UIKit) - MVVM까지

(기초-3) 가위바위보 앱 만들기 / 코드 설정하기 - 2 (기초 앱 12강)

(기초-3) 가위바위보 앱 만들기 / 코드 설정하기 - 2 (기초 앱 12강)

173

Mingyeong Seong

작성한 질문수 1

0

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

 

안녕하세요. 주사위만들기 앱에서 viewDidLoad()를 다음과같이 정의하고 RESET 버튼을 눌렀을 때 viewDidLoad()를 호출해도 되나요? 작동은 하는데 비효율적이고 문제가 되는 부분이 있을 것 같은데 궁금합니다.


    override func viewDidLoad() {

        super.viewDidLoad()

        mainLabel.text = "선택하세요"

        // 1) 첫번째, 두번째 이미지 뷰에 준비 이미지를 띄워야 함

        comImageView.image =  imageLiteral(resourceName: "ready")

        myImageView.image = UIImage(named: "ready.png")

        // 2) 첫번째, 두번째 레이블에 "준비" 라는 문자열을 띄워야 함

        comLabel.text = "준비"

        myLabel.text = "준비"

    }

ios swift

답변 1

0

앨런(Allen)

네 안녕하세요! 민경님!

아, 리셋버튼을 누르셨을때 viewDidLoad() 자체를 호출하시면 안됩니다.


왜냐면, 내부적인 메커니즘 때문에.. 보시면 아시겠지만.. 또 상위 클래스의 super.viewDidLoad( ) 도 호출하고 있죠? (내부적으로 viewDidLoad의 경우.. 화면에 진입했을때 앱 내부에서 자동으로 알아서 한번만 호출되게 되어있고, 직접 호출하는 것은 (동작할지라도) 금지되어 있습니다.


따라서, 아래처럼 셋팅 관련 코드들을 묶어서 메서드를 만들어 주시고,

func reset() {
     mainLabel.text = "선택하세요"
     comImageView.image = UIImage(named: "ready.png")
     myImageView.image = UIImage(named: "ready.png")
     comLabel.text = "준비"
     myLabel.text = "준비"
}

viewDidLoad에서도 호출되게 만들고..

override func viewDidLoad() {
    super.viewDidLoad()
    reset()
}


RESET 버튼을 눌렀을 때도 reset( )을 따로 호출해주는 것이 맞습니다. :)

 

고맙습니다. :)

수강연장부탁드려도될까요..

0

42

2

Drawing Cycle 관련 질문

0

72

1

앱 제작 시 주로 코드로 작성하시는 이유가 있을까요?

0

95

2

델리게이트 패턴 관련 질문

0

66

2

수강 기간 연장 부탁드릴 수 있을까요?

0

61

1

활용 앱 57강 질문입니다.

0

55

1

활용 앱 30강 에러 질문입니다

0

64

2

기초앱 17강 Contraints 설정 질문입니다.

0

67

2

기초 앱 4강 Type Any -> UIButton

0

66

2

34강 유용한 앱 추천에 나오는 UIKitViewer에 대해서 질문이 있습니다

0

78

1

깃에 코드는 올려도 된다고 하셨는데

0

109

1

수강기간 연장신청 드려도 될까요?

0

82

1

수강 기간 연장 부탁드려도 될까요?

0

120

2

수강 기간 연장 신청 요청드립니다.

0

131

2

playground에서 상단 실행?아이콘 회전 관련하여...

0

136

1

활용앱53강에서 질문있습니다.

0

164

2

Project 명칭 변경방법이 궁금합니다.

0

140

1

override 에 대해서 궁금한 것이 있습니다.

0

124

2

섹션8] 코드 리팩토링 문의

0

99

1

xcode 에서 ios 버전 선택 및 시뮬레이터 관련 질문

0

566

2

수강 기간 연장 부탁드려도 될까요?

0

130

2

뷰모델의 상태변화 와 didSet

0

98

1

@Sendable 키워드

0

94

1

클로저

0

105

2