swiftui - 如何在 SwiftUI 中将 print() 打印到 Xcode 控制台?
问题描述
所以我尝试在 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"))
}
}
那么,在 SwiftUI 中打印到控制台的正确方法是什么?
编辑:我使 Landmark 符合CustomStringConvertible:
struct Landmark: Hashable, Codable, Identifiable, CustomStringConvertible {
var description: String { name+"\(id)" }
var id: Int
var name: String
.....
我仍然收到“字符串不可转换为任何”错误。它现在应该工作吗?
解决方案
至少在 Xcode 12/Swift 5.3 中,您可以轻松地在函数构建器的任何位置添加打印语句,只需将其返回值存储在通配符中,有效地忽略它:
let _ = print("hi!")
无需设置或其他详细信息!
推荐阅读
- laravel - 不在两者之间的laravel查询不起作用
- flutter - Flutter:如何绘制实时折线图?
- javascript - onAuthStateChanged 中的 React-native Firebase Auth setState 得到 TypeError: this.setState is not a function
- html - 如何使密码输入只接受 HTML 中的数字?
- geolocation - 带有openstreetmap的管理场所
- c++ - 类中的重载函数(Students())是输出输入的信息,但是没有作用
- python - 使用 ortools 最大化旅行商问题
- python - 获取隐藏层自动编码器
- python - 如何计算高于/低于阈值的时间序列中的连续周期?
- python - 在 if 循环中首先编写 99% 的情况是否有任何效率提升?