因此,我尝试在SwiftUI视图中调试时放入一条打印语句。
print("landmark: \(landmark)")
Run Code Online (Sandbox Code Playgroud)
在下面的身体。
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"))
}
}
Run Code Online (Sandbox Code Playgroud)
那么,在SwiftUI中打印到控制台的正确方法是什么?
编辑:我使Landmark符合CustomStringConvertible:
struct Landmark: Hashable, Codable, Identifiable, CustomStringConvertible {
var description: String { name+"\(id)" }
var id: Int
var name: String
.....
Run Code Online (Sandbox Code Playgroud)
我仍然收到“字符串不可转换为任何字符串”的错误。现在应该工作吗?
有人可以解释一下为什么这段代码不执行吗?我正在尝试学习编写函数/结构等的不同方法,让我感到困惑的是,当您在结构之外编写函数并在结构中调用它时(例如这样):
struct ContentView: View {
var body: some View {
print(referencePoint(refX: 10, typeX: 10))
}
}
func referencePoint(refX: Int, typeX: Int) -> Int {
return (refX * typeX)
}
Run Code Online (Sandbox Code Playgroud)