강의로 돌아가기
우 민지

옵셔널 개념

if let phoneName = appleWatch?.pairediPhone {
print (“AppleWatch가 (phoneName)과 쌍을 이룹니다.”)
}

이게 맞다고 하는데

if pairediPhone?.WatchDevice {
print (AppleWatch가 \(phoneName)과 쌍을 이룹니다.)
}

는 왜 안되는거죵????

작성중인 코드―watchdevice2.swift
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
struct WatchDevice {
    var pairediPhone:String? //애플와치와 쌍을 이루는 아이폰의 이름.
    var appInstalled = false //어플리케이션의 설치 유무

    enum WatchSize {
        case m42, m38
    }
}

var appleWatch:WatchDevice? = nil
appleWatch = WatchDevice(pairediPhone: "링고스타의 아이폰", appInstalled: true)

// appleWatch에 appleWatch에 대해 optional binding으로 phoneName이라는 새로운 변수를 생성해 주세요
if pairediPhone?.WatchDevice {



    print ("AppleWatch가 \(phoneName)과 쌍을 이룹니다.")
}
1 개의 답변
허진성

1) print 부분에서 phoneName이 출력되야 하는데, phoneName이 설정되지 않았습니다(var 나 let으로)
2) WatchDevice의 부속 변수로 pairediPhone이 설정되어 있는데, pairediPhone?.WatchDevice 이면 상하관계가 뒤집어진 상황입니다.

답변 쓰기
이 입력폼은 마크다운 문법을 지원합니다. 마크다운 가이드 를 참고하세요.