大家好,我很难理解@State in swiftUI
我会解释得更好..。从scrollView中的图像可以看到,我有两个视图,一个包含日历,另一个包含用户日期选择的摘要。
现在..。。我过去常常用用户在日历上选择的日期更新summaryView。
@State private var selectedDate: Date = Self.now
private static var now = Date ()
另外,在包含用户选择的摘要的视图(日历上方的视图)中,还创建了一个带有函数的随机黄色字符串
// MARK: - Generate Random String
private ext
我有一个AVAudioPlayer,其中包含一个可观察对象中的一些关键数据:
class Player: ObservableObject {
var data: Data?
var player: AVAudioPlayer?
init() {}
func play(audioData: Data) {
self.stop()
// Set the data for the player
self.data = audioData
do {
Disclaimer:I'm是一名安卓开发人员,但他不得不深入研究KMM项目的Swift。
我有一个像这样设置的ViewModel:
class MyViewModel:ObservableObject {
...
var items Array = [Item]()
//the above array gets populated later on. Tried setting it as a state variable to be observed but for some reason the values never got updated
...
}
我已经能够从内容视
我有以下代码:
import SwiftUI
enum OptionButtonRole {
case normal
case destructive
case cancel
}
struct OptionButton {
var title: String
var role: OptionButtonRole
let id = UUID()
var action: () -> Void
}
struct OptionSheet: ViewModifier {
@State var isPresented = true
我遵循的说明,给出了这个例子
let names = ["Zoey", "Chloe", "Amani", "Amaia"]
let randomName = names.randomElement()!
// randomName == "Amani"
由于randomName未初始化,这将无法工作,因此我尝试了一种解决方法:
let words = [
"anbieten","anbietend","angeboten"]
var random
我有一个应用程序,它使用了新的侧边栏,它是在iOS14 for iPad os中引入的,但是我不知道为什么它不记得它隐藏的状态。
这是侧栏结构
import SwiftUI
struct Sidebar: View {
@Environment(\.managedObjectContext) var moc
@Binding var selection : Set<NavigationItem>
var body: some View {
List(selection: $selection) {
我在SwiftUI中设置了一个SwiftUI,遵循已知的教程,使用UIViewControllerRepresentable等。
我的控制器数组由简单的SwiftUI视图组成。我传递一个简单的IntroPage结构来提供内容。视图是嵌套的,就像良好的SwiftUI实践一样,因此:
PageView
- IntroScreen // part of the pages array
- VStack
- Text
- Image
- ButtonView // a separ
我在SwiftUI中有一个简单的列表。代码和截图包含在下面。我想减少列表中每一行的高度(这样行和文本行之间的间距就会更小)。
我已经尝试在HStack中添加一个".frame(height: 20)“,但是它只允许增加行距!
有没有办法做到这一点?
谢谢!
杰拉德
import SwiftUI
struct PressureData: Identifiable {
let id: Int
let timeStamp: String
let pressureVal: Int
}
struct ContentView : View {
@State var pressu
大纲:
我有一个数据模型,其中包含一个视频名称数组,这些视频名称附加到每个ProductModel上。
例如:ProductModel 1将包含视频video1,video2。然而,ProductModel 2将包含视频video3、video4和video5。以及视频的名称,我也有一个缩略图和描述,链接到视频名称。
我的数据模型如下所示:
注意:还有其他多个ProductModels,但是为了保持代码简短,我只展示了一个。
struct ProductModel: Identifiable {
var id = UUID()
var video: [String]
v
我正在尝试创建某种类型的解决方案,用于向SwiftUI视图模型注入依赖项,但我不知道我是在做什么,还是需要把它带回绘制表。
struct MyAppName: App {
private static var serviceToInject = ServiceToInject()
@StateObject var viewModel1 = ViewModel1(service: serviceToInject)
@StateObject var viewModel2 = ViewModel2(service: serviceToInject)
var body: some Scene {
在视图生成器函数中有一个forEach循环,如下所示:
ForEach(0..<array.count, id: \.id) { index in
数组包含一个自定义模型,该模型符合可标识性,并具有一个id。问题是,当我在下面创建另一个预见时:
ForEach(0..<anotherArray.count, id: \.id) { index in
现在,anotherArray也具有自定义模型类型。在运行应用程序时,它只会显示第一个前景,anotherArray循环不会显示其中的内容。
我已经尝试过放弃id:.id,因为这样可以使它正常工作:
ForEach(viewModel.
我正在通过黑客快速做100天的SwiftUI和目前的第35天,这需要我建立一个时间表应用程序。
不幸的是,我被困在了一个非常早期的阶段,觉得问这个问题很愚蠢。
如何使数组索引从1而不是0开始?
下面是我的代码和画布的截图:
struct ContentView: View {
@State private var number = 0
@State private var question = Int.random(in: 0..<13)
let numberRange = Array<Int>(1 ... 12)
var body: so