正如您从屏幕截图中看到的,“语言”选项卡出现了两次。
我有以下 HostingTabBar 代码,该代码在应用程序启动时调用:
struct HostingTabBar: View {
private enum Tab: Hashable {
case language
case canvas
case homework
case test
case more
}
@State private var selectedTab: Tab = .language
var body: some View {
TabView(selection: $selectedTab) {
LanguageView()
.tag(0)
.tabItem {
Text("Language")
Image("language")
}
CanvasView()
.tag(1)
.tabItem {
Text("Canvas")
Image("canvas")
}
HomeworkView()
.tag(2)
.tabItem {
Text("Homework")
Image("homework")
}
TestView()
.tag(3)
.tabItem {
Text("Test")
Image("test")
}
MoreView()
.tag(4)
.tabItem {
Text("More")
Image("more")
}
}
.accentColor(nil)
}
}
struct HostingTabBar_Previews: …Run Code Online (Sandbox Code Playgroud) 我有以下代码:
import SwiftUI
struct LearnView: View {
@State private var selectedLanguage: Language?
@State private var selectedCategory: SubCategory?
@State private var selectedDate = Date()
@Environment(\.managedObjectContext) private var viewContext
@FetchRequest(entity: Language.entity(), sortDescriptors: []) var languages: FetchedResults<Language>
@FetchRequest(entity: SubCategory.entity(), sortDescriptors: []) var subCategories: FetchedResults<SubCategory>
var body: some View {
NavigationView {
ZStack {
Form {
Section("Learning Schedule") {
Picker("Please choose a language", selection: $selectedLanguage) {
ForEach(languages, id: \.self) {
Text($0.name ?? "Unknown")
}
}
Text("You selected: \(selectedLanguage?.name ?? "Unknown")")
}
}
}
} …Run Code Online (Sandbox Code Playgroud) 我已经能够在我的应用程序的调试窗口中看到打印语句。当我创建一个“模拟”程序(小型试用应用程序)来了解 Swift 测试时,FirstTests 文件夹下的 LifecycleTests.swift 文件中的任何打印语句都不会显示在调试窗口中。
import XCTest
class LifecycleTests: XCTestCase {
override class func setUp() {
// Put setup code here. This method is called before the invocation of each test method in the class.
print("In class setUp.")
// NSLog("In class setUp.")
}
override class func tearDown() {
// Put teardown code here. This method is called after the invocation of each test method in the class.
print("In class tearDown.")
// NSLog("In class tearDown")
}
override func setup() { …Run Code Online (Sandbox Code Playgroud)