«Шрифт» не конвертируется в «Шрифт?» в SwiftUI Учебник - PullRequest
0 голосов
/ 03 июля 2019

В Apple SwiftUI Tutorial я только что столкнулся с некоторой ошибкой.

https://developer.apple.com/tutorials/swiftui/building-lists-and-navigation

В этом уроке после шагов 8, 9, 10 возникает ошибка.

Это то, что я написал:

import SwiftUI

struct LandmarkDetail : View {

var landmark: Landmark

var body: some View {
    VStack {

        MapView(landmark.locationCoordinate)
            .edgesIgnoringSafeArea(.top)
            .frame(height: 300)


        CircleImage(landmark.image(forSize: 50)).offset(y: -130)
        .padding(.bottom, -130)

        VStack(alignment: .leading){
            Text(landmark.name)
                .font(.title)

            HStack{
                Text(landmark.park)
                    .font(.subheadline)
                Spacer()
                Text(landmark.state)
                    .font(.subheadline)
            }
        }
        .padding(30)

        Spacer()
        }
}

enter image description here

Этот код хорошо работает без ошибок.

Но после изменениянекоторые константы переменной, эта ошибка возникает.

Я пытался перезапустить Xcode несколько раз, но это не работает.

Что с ним не так?

Вот что Apple написала:

var body: some View {
    VStack {
        MapView(coordinate: landmark.locationCoordinate)
            .frame(height: 300)

        CircleImage(image: landmark.image(forSize: 250))
            .offset(y: -130)
            .padding(.bottom, -130)

        VStack(alignment: .leading) {
            Text(landmark.name)
                .font(.title)

            HStack(alignment: .top) {
                Text(landmark.park)
                    .font(.subheadline)
                Spacer()
                Text(landmark.state)
                    .font(.subheadline)
            }
        }
        .padding()

        Spacer()
    }

Xcode: бета-версия 11.0 (11M336w)

1 Ответ

2 голосов
/ 03 июля 2019

Изменить эти две строки,

        MapView(landmark.locationCoordinate)
            .edgesIgnoringSafeArea(.top)
            .frame(height: 300)

        CircleImage(landmark.image(forSize: 50)).offset(y: -130)
        .padding(.bottom, -130)

к этому,

        MapView(coordinate: landmark.locationCoordinate)
                .edgesIgnoringSafeArea(.top)
                .frame(height: 300)

        CircleImage(image: landmark.image(forSize: 50)).offset(y: -130)
                .padding(.bottom, -130)
...