Как распечатать () в консоли Xcode в SwiftUI? - PullRequest
0 голосов
/ 09 июня 2019

Поэтому я попытался поместить оператор печати при отладке в представлении SwiftUI.

    print("landmark: \(landmark)")

В следующем тексте.

    var body: some View {
    NavigationView {
        List {
            Toggle(isOn: $userData.showFavoritesOnly) {
                Text("Favorite only")
            }
            ForEach(landmarkData) { landmark in
                print("landmark: \(landmark)")
                if !self.userData.showFavoritesOnly || landmark.isFavorite {
                    NavigationButton(destination: LandmarkDetail(landmark: landmark)) {
                        LandmarkRow(landmark: landmark)
                    }
                }
            }
        }.navigationBarTitle(Text("Landmarks"))

    }
}

Ошибки компиляции: enter image description here

Итак, как правильно печатать на консоли в SwiftUI?

РЕДАКТИРОВАТЬ: я сделал Landmark соответствовать CustomStringConvertible :

struct Landmark: Hashable, Codable, Identifiable, CustomStringConvertible {

var description: String { name+"\(id)" }

var id: Int
var name: String
.....

Я все еще получаю ошибку "Строка не конвертируется ни в какую".Должно ли это работать сейчас?

Ответы [ 2 ]

1 голос
/ 19 июля 2019

Вы не можете печатать в структуре тела, т.е. в структуре, которая имеет некоторый вид типа. Для печати вам нужно сделать функцию из структуры тела и вызывать ее, используя кнопку или что-то еще.

0 голосов
/ 10 июня 2019

Вы не можете, потому что вы находитесь в вычисляемом свойстве. Вам нужна, например, кнопка и в действии вы определяете печать. Или работать с точками останова

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...