小编Dan*_*ini的帖子

LazyVGrid 内的 NavigationLink 循环背面的所有条目,SwiftUI

我有一个图像网格。点击的每个图像都应在 NavigationView 上推送一个包含图像详细信息的视图。

导航链接按预期工作,但是当我按后退按钮时,它会打开下一个图像,依此类推,直到循环所有图像。到底是怎么回事?

这是View

struct ImageGrid: View {
    
    @ObservedObject var part: Part
    @State private var showingImagePicker = false
    @State private var inputImage: UIImage?
    var body: some View {
        Button("add images"){
            self.showingImagePicker = true
        }
        LazyVGrid(columns: [GridItem(.adaptive(minimum:100))]){
            ForEach(part.images){ image in
                ZStack {
                    Image(uiImage: image.thumb)
                        .resizable()
                        .scaledToFit()
                    NavigationLink (
                        destination: ImageDetail(image:image),
                        label: {
                            EmptyView()
                        }
                    ).buttonStyle(PlainButtonStyle())
                }
            }
        }
        .sheet(isPresented: $showingImagePicker, onDismiss: loadImage) {
            ImagePicker(image: self.$inputImage)
        }
        
    }
    // other functions ...
    ...
}
Run Code Online (Sandbox Code Playgroud)

这就是细节View

struct ImageDetail: View …
Run Code Online (Sandbox Code Playgroud)

ios swift swiftui

9
推荐指数
1
解决办法
5519
查看次数

SwiftUI 列表数据的可识别协议扩展

我正在尝试 SwiftUI,并在为我的一个列表实现数据模型时遇到了问题。我的计划是创建一个协议CardProtocol作为列表元素的数据协议,然后使用该协议的 CoreData 实现以及用于单元测试和 Canvas 使用的虚拟协议。如果您在 SwiftUI 中使用数据集合,List则单个元素需要符合Identifiable协议。

代码如下所示:

import SwiftUI
import Combine


final class CardsModel: BindableObject {
    var cards: [CardProtocol] = []
    let didChange = PassthroughSubject<CardsModel, Never>()
}

protocol CardProtocol: Identifiable {
    var id: Int { get set }
    var firstName: String? { get set }
    var lastName: String? { get set }
    var email: String? { get set }
    var phone: String? { get set }
}
Run Code Online (Sandbox Code Playgroud)

这甚至无法编译,因为Identifiable协议有 2 个关联类型,如果要将协议用于变量定义,则需要指定这两个类型。 …

ios swift swiftui combine

5
推荐指数
1
解决办法
1992
查看次数

在django中的单个connection.cursor上执行多个。安全吗?

我正在使用 connection.cursor 打开一个游标,执行一系列删除操作,然后关闭游标。它有效,但我不确定它是否有任何副作用。如有任何反馈,我们将不胜感激。

from django.db import connection
c=connection.cursor()
try:
    c.execute('delete from table_a')
    c.execute('delete from table_b')
    ...
finally:
    c.close()
Run Code Online (Sandbox Code Playgroud)

python django database-connection django-database database-cursor

4
推荐指数
1
解决办法
6254
查看次数

如何使用故事板正确启动自定义uitableviewcell的popover segue

那么当打开它的按钮位于表视图中的自定义原型单元格内时,如何使用故事板正确设置popover segue?

  1. 它应该适用于iphone和ipad
  2. 它应该在ipad上有正确的位置和锚点

iphone objective-c ipad ios

2
推荐指数
1
解决办法
1403
查看次数